运行EunmTest得到的结论
枚举类型是引用类型;枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象;可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。
数值的二进制表示正数和负数
一、负数表示
1.在计算机中,负数以其正值的补码形式表达。
2.负数源数据不管符号的正值称为原码,对其进行取反,取反后的数据称为反码。比如原来数据为-5,先不管其符号,将原数据正值(二进制)5为00000101,取反后的反码为11111010.
3.对反码加1. 11111010+1=11111011,此值即为-5的二进制表示。
二、正数表示
课后练习
原码:第一位是符号位,原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值,反码:正数的反码是其本身,负数的反码就是在其原码的基础上,符号位不变,其余各个位取反
补码:正数的补码就是其本身,负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后加+1
Java中的数是采用反码表示的
两数相加
变量的作用域
强制类型转换时,可能会引起信息的缺失
Double类型的数值运行得不到“数学上精确”与浮点数在计算机内部的表示方法有关float和double类型主要是为科学计算和工程计算而设计的,他们执行二进制浮点运算,这两种类型在计算机中的储存分为三部分:符号位、指数位、尾数部分。数据以二进制存储在计算机时,会产生无限循环数列,在数据转换中会有差错。
怎么处理精度损失
使用BigDecimal类