你这个强制转换不对啊 看了半天 b=(byte)(b+3)
强制转换是不是一般不用 用的很少
这种情况,就需要使用了。
本回答被提问者采纳byte b1=3;
byte b2=4;
b=b1+b2;
怎么也报错?
byte不是-128到127吗? 前面加byte不就是说这个数是byte类型
怎么还是不行
对于加法运算,如果两边类型不一样,则其中一个自动转换成与另一个相同的类型,再运算;如果一样,对于比int低的类型,JVM是全部转换为int型来计算的,所以结果就似乎右边的b1+b2的结果提升为int,赋值给byte需要强制类型抓转换。
追问如果不强制转换 那么byte都改成int 就不会报错了 知道了
本回答被网友采纳