面试题:
第一题:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?
答:第二句,因为b1,b2在运算过程中自动提升为int类型,其相加结果也应为int,将int结果赋值给byte
可能会丢失精度.
第二题:
byte by = 130;有没有问题?有问题如何解决?结果是多少呢?
答:有问题.将130强制转换为byte ,byte by = (byte)130,结果为:-126
第三题:
byte b = 10;
b++;
b = b + 1;
哪句是编译失败的呢?为什么呢?
答:第三句,因为在进行b + 1运算时,b被自动提升为int,其结果也为int,将int赋值给byte,
可能会丢失精度.
|
|