动手动脑

一.仔细阅读示例: EnumTest.java,运行它,分析运行结果?
第一个判断s和t是否引用了同一对象,由于s和t不是同一对象,所以是flase
第二个判断s是否为基本数据类型,由于s是枚举类型,所以是flase
第三个将字符串“SMALL”转化成为枚举类型,与s一样,所以是true
最后遍历输出
二.你能得到什么结论?你掌握了枚举类型的基本用法了吗?
相同的值引用同一对象
枚举类型不是基本数据类型
可以用==和equals()直接对比值
字符串可以转化成枚举类型
三.阅读相应教材,或者使用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出结果,与手工计算的结果进行比对,看看Java中的数是采用上述哪种码表示的

示例程序:

结果:

Java中补码计算
四. Java变量遵循“同名变量的屏蔽原则”,请课后阅读相关资料弄清楚相关知识,然后自己编写一些测试代码,就象本示例一样,有意识地在不同地方定义一些同名变量,看看输出的到底是哪个值。
在Java中,同名变量屏蔽原则是指在一个作用域内,如果有一个变量与外部作用域中的变量同名,那么它会屏蔽外部作用域中同名的变量。这个原则也被称为变量隐藏
如果在一个方法中定义了一个局部变量,它与类的成员变量同名,那么在这个方法的作用域内,成员变量将被屏蔽。
如果内部类和外部类有同名的成员变量,那么在内部类中,外部类的同名成员变量会被屏蔽。
在一个代码块(如for循环或if语句)中定义的变量会屏蔽外部作用域中同名的变量。
蔽是指变量名相同,但重载通常指的是方法名相同而参数列表不同。
五,看着这个图,再查查Java中每个数据类型所占的位数,和表示数值的范围,你能得出什么结论?

数据类型      位数                表示数值的范围
         Int         32位          -2的31次方 ~ 2的31次方
        Short        16位              -32768 ~ 32678
         long        64位           -2的63次方~2的63次方
         float       32位         10-38~1038和-10-38~-1038
        double       64位     10-308~10308和-10-308~-10308
        char         16位            -2的7次方~2的7次方
        boolean       1位                true/false
        byte          8位                -128 ~ 127
     结论:实线代表无精度损失,虚线代表有精度损失,低精度向高精度转化不丢失精度,反之,从高精度传向低精度则会损失。
六.为什么double类型的数值进行运算得不到“数学上精确”的结果?
double 类型在内存中占用64位,其中1位用于符号,11位用于指数,剩下的52位用于尾数(或称为有效数字)。这意味着 double 类型只能精确表示2^53(大约9.0072e15)个不同的数值。
由于这种表示限制,许多实数(例如1/3)不能精确表示为 double 类型,只能近似表示。
当执行加法、减法、乘法或除法运算时,可能会产生超出尾数所能表示的精度的数值。这时,结果会被舍入到最接近的可表示值,导致精度损失。
根据IEEE 754标准,double 类型的运算结果通常遵循“向偶数舍入”的规则(也称为银行家舍入法)。这意味着在某些情况下,结果会被舍入到最近的偶数,以减少累积误差。
浮点数的运算顺序可能会影响最终结果。由于舍入误差的存在,不同的运算顺序可能会导致不同的结果。
七.以下代码的输出结果是什么?
      public class Text{
           public stastic void main(String args[]){        
                int X=100;
                int Y=200;
               System.out.println("X+Y="+X+Y);
               System.out.println(X+Y+"=X+Y");
          }
     }
     运行结果:
     X+Y=100200
     300=X+Y
原因:因为输出的是字符串,前一个表示分别输出两个字符串,而后一个表示用字符串输出两个整形的和。

posted @ 2024-09-28 11:46  花朝——  阅读(43)  评论(0编辑  收藏  举报