byte b1 = 1;
byte b2 = 2;
byte b3 = b1+b2;//错误,+运算符运算后,值为int型byte b = 1;
而
b = b+2;//错误,理由同上
那么下面这个为什么正确?
b += 2;?????
这个式子不就是b = b+2吗??
byte b2 = 2;
byte b3 = b1+b2;//错误,+运算符运算后,值为int型byte b = 1;
而
b = b+2;//错误,理由同上
那么下面这个为什么正确?
b += 2;?????
这个式子不就是b = b+2吗??
+运算符运算后,值为int型,所以不能直接付给byte类型,而+=不是+,他们的运算原理应该不同。
如果非要运算就强制类型转换好了。
b3=(byte)(b1+b2);