动手动脑问题3

在Java中,每个数据类型的位数和表示的数值范围如下所示:

  1. byte(字节):8位,有符号整数类型,表示范围为-128到127。

  2. short(短整型):16位,有符号整数类型,表示范围为-32,768到32,767。

  3. int(整型):32位,有符号整数类型,表示范围为-2,147,483,648到2,147,483,647。

  4. long(长整型):64位,有符号整数类型,表示范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807。

  5. float(单精度浮点型):32位,表示范围为-3.40282347E+38到3.40282347E+38。

  6. double(双精度浮点型):64位,表示范围为-1.7976931348623157E+308到1.7976931348623157E+308。

  7. char(字符型):16位,表示一个Unicode字符。

  8. boolean(布尔型):没有明确规定位数,表示真(true)或假(false)。  

   在Java类型转换中,由小位转到大位不会有精度损失 ,相反就会有。 

 

同名变量的屏蔽原则是指在Java中,如果在不同的作用域中定义了同名的变量,那么内层作用域的变量会屏蔽外层作用域的变量。

下面是一个示例程序,演示了同名变量的屏蔽效果:

public class VariableShadowing {
    public static void main(String[] args) {
        int x = 10;

        System.out.println("外层作用域 x = " + x);

        {
            int x = 20; // 内层作用域的 x,屏蔽了外层作用域的 x
            System.out.println("内层作用域 x = " + x);
        }

        System.out.println("外层作用域 x = " + x);
    }
}

输出结果:

外层作用域 x = 10
内层作用域 x = 20
外层作用域 x = 10

可以看到,内层作用域中的变量 x 屏蔽了外层作用域中的同名变量 x,内层作用域中对 x 的修改不影响外层作用域的变量值。

你可以尝试在不同的作用域中定义同名变量,并输出结果,观察屏蔽效果。这样可以帮助加深对同名变量屏蔽原则的理解。

下面是运行的EnumTest.java:

 

 

posted @ 2023-09-15 10:19  *太¥^白%  阅读(26)  评论(0编辑  收藏  举报