byte b1 = 67;
byte b2 = 89;
byte b3 = (byte)(b1 + b2);在上述程序段中,b1 + b2的结果为156,已经超出了byte 类型的范围
我知道这里从int类型转化为byte类型时有一个“截”的过程,
但不知道这个过程是如何进行的?
为什么b3的最后结果为-100?菜鸟求救,请高手指点!
byte b2 = 89;
byte b3 = (byte)(b1 + b2);在上述程序段中,b1 + b2的结果为156,已经超出了byte 类型的范围
我知道这里从int类型转化为byte类型时有一个“截”的过程,
但不知道这个过程是如何进行的?
为什么b3的最后结果为-100?菜鸟求救,请高手指点!
System.out.println((byte)257);输出结果就是 1。
题中两个byte类型相加后结果是int型,在强制转换为byte时由于超出了byte范围,所以报错,得不到正确的结果。