课后作业

作业一:计算程序(加减乘除)

源代码:

运行结果:

作业二:

(1)仔细阅读示例: EnumTest.java,运行它,分析运行结果?

s和t分别引用了SMALL和LARGE,s不是原始数据类型,而s,u则是两种赋值方式,结果一样,所以输出的value是全体值。

枚举类型是引用类型,而不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。
可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

(2)请运行以下代码(TestDouble.java)

运行结果:

得不到精确值的原因:使用double类型的数值进行计算, 其结果是不精确的。

因为我们给出的数值,在大多数情况下需要比64bit更多的位数才能准确表示出来(甚至是需要无穷多位),而double类型的数值只有64bit,后面舍去的位数一定会带来误差,无法得到“数学上精确”的结果。

原文地址:https://www.cnblogs.com/dawn-sky/p/4860083.html