动手动脑

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

      原码:计算机中对数字的二进制定点表示方法,将某其他进制数字变为二进制数字,若为正数在此二进制数前加0,若为负数前加1。

      反码:正数的反码是其本身,负数反码是除第一位(即符号位)不变外,其余各个位取反(即1变0,0变1)。

      补码:正数补码是其本身,负数补码是其反码最后一位再加一位,这位为1。

      

      若为原码, 在二进制中00000001+10000001=10000010,换算成十进制为-2。显然出错,故java中数值并非是由原码储存

      若为反码 (00000001) 反+ (11111110)反 = (11111111)反 = ( -0 )

      若为补码,(00000001)补 + (11111111)补 = (00000000)补 = ( 0 )

      所以在java中,数值是由补码表示的
 
 
 
      同名变量的屏蔽原则

 

 byte 字节型   1字节(8bit) 初始值:0
char 字符型   2字节(16bit) 初始值:空格
short 短整型   2字节(16bit) 初始值:0
int 整型   4字节(32bit) 初始值:0
long 长整型   8字节(64Bit) 初始值:0L
float 单精度浮点型   4字节(32bit) 初始值:0.0f
double 双精度浮点型   8字节(64bit) 初始值:0.0d
boolean java未明确指出的大小(可能1bit、1byte、4byte) 初始值:false

 可长转短,不可短转长

 第一种输出相当于将两个int型数据连接,第二个为计算

原文地址:https://www.cnblogs.com/yyl141/p/11553678.html