国庆作业

一。EnumTest.java,运行之后结果为:

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

  基本用法:① 枚举类型等效于定义static finally 常量②枚举类型可以有自己的属性(参数)和方法③ 枚举类型可以以独立的文件存在。

二。阅读响应教材,或者使用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出结果,与手工计算的结果进行对比,看看java中的数时采用上述哪种码表示的。

  ①反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外

  ②补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1

  ③原码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外

  ④java采用的是补码表示。

三。java变量遵循“同名变量屏蔽原则”,请课后阅读相关资料弄清楚相关知识,然后自己编写一些测试diamante,就像本事例一样,有意识地在不同地方定义一些同名变量,看看输出的到底是哪个值。

  

  

  java当中,如果局部变量与成员变量同名,则成员变量会被屏蔽,需要使用this操作符。

四。

看着这个图,再查查java中每个数据类型所占的位数,和表示数值的 范围,你能得出什么结论?

  结论:自动类型转换是安全的,强制类型转换时,低精度向高精度转化无精度损失,从高精度传向低精度则有精度损失。

 五。运行TestDouble.java看到输出结果,意外吗?

  

  结果令人感到意外。原因:Java中的简单浮点数类型float和double不能够进行运算,使用其类型进行计算,结果是不精确的。

六。为什么double类型的数值进行运算得不到“数学上精确”的结果?

  double类型的数值占用64bit,即64个二进制,除去最高位表示正负符号的位,在最低位撒花姑娘一定会与实际数据存在误差(除非实际数据恰好是2的n次方)。

七。

  结果:

  原因:第一个语句,使用运算符+连接字面量,是将X和Y将两数据连接起来。第二个语句运算符+是对X和Y求和。

 八。编写一个程序,用户输入两个数,求出其加减乘除,并用消息框显示计算结果。

  

  

  结果截图:

  

  

  

原文地址:https://www.cnblogs.com/xieshiyu/p/5937135.html