课后作业
作业一:计算程序(加减乘除)
源代码:
运行结果:
作业二:
(1)仔细阅读示例: EnumTest.java,运行它,分析运行结果?
s和t分别引用了SMALL和LARGE,s不是原始数据类型,而s,u则是两种赋值方式,结果一样,所以输出的value是全体值。
枚举类型是引用类型,而不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。
可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。
(2)请运行以下代码(TestDouble.java)
运行结果:
得不到精确值的原因:使用double类型的数值进行计算, 其结果是不精确的。
因为我们给出的数值,在大多数情况下需要比64bit更多的位数才能准确表示出来(甚至是需要无穷多位),而double类型的数值只有64bit,后面舍去的位数一定会带来误差,无法得到“数学上精确”的结果。