程序:
运行结果:
结论:
枚举类型是引用类型,并不是原始类型,他的每一个具体值都引用一个特定的对象。相同的值则引用同一个对象。可以用“==”和“equals()”的方法直接比较枚举变量的值,对于枚举类型来说,“==”与“equals()”两种方法是一样的。
二、码
原码:最高位为符号位,“0”代表正,“1”代表负,其余位表示数值的大小。
补码:正整数的补码与原码相同,负整数的补码是在反码的末位加 1.
JAVA采用的是“ 补码 ”。
三、变量的作用域
同名变量的屏蔽原则:两个或多个同名变量,定义了不同的数值时,在使用时,在使用的区间内,变量的值为距他最近(前面)的定义。
结果为:
四、数据类型
char 8位二进制数范围是-2的7次方到2的7次方-1
byte 8位带符号整数-128到127之间的任意整数
short 16位无符号整数-32768到32767之间的任意整数
int 32位带符号整数-2的31次方到2的31次方-1之间的任意整数
long 64位带符号整数-2的63次方到2的63次方-1之间的任意整数
float 32位单精度浮点数,double 64位双精度浮点数。
结论:Java会从低级类型向高级类型转换,即取值范围相对较小的数据类型 转换成 取值范围相对较大的数据类型。
程序:
结果:
结论:
使用double类型的数值进行计算, 其结果是不精确的。
分析:计算机只能识别二进制,一切的数据最后都要转换为二进制。例如源程序中的2.4是十进制的,要转换为二进制,但2.4 的二进制不是精确的2.4,只是接近2.4,实际为2.3 999 999 999 999 999,浮点数由两部分组成:指数和尾数,再进行浮点数的二进制与十进制的转换时,浮点数参与了计算,那么转换过程就变的不可预测,并且变得不可逆。
五、以下代码的输出结果是什么?
程序:
结果:
结论:
前一个的输出语句后两个加号均为字符连接符;后一个的输出语句中第一个加号为数学上加法的加号,而后一个加号为字符连接符。