本帖最后由 小海燕 于 2016-3-1 22:39 编辑
byte a=3,b=2;
byte c=a+b;//编译失败,a+b运算时会自动提升类型为int,int值赋给byte型变量,损失精度。
byte d=2+3;//编译正常,运算后先判断计算值是否在byte类范围内,在就通过,不在就失败。
byte e=a++;//编译正常,自带强制转换
byte f+=2;//编译正常,自带强制转换
————————————————————————————————————————————
byte b1=(byte)130;
byte b2=(byte)300;
System.out.println(b1);//-126(换算出130数值二进制原码,后换算成补码后即可。)
System.out.println(b2);//44(将int型300数值换成32位二进制,取后八位即可。) |
|