byte b1 = 3, b2 = 4;
b1 = b1 + b2;
把两个byte类型的变量相加,结果赋给byte类型的变量。
为什么这也有错呢?
b1 = b1 + b2;
^
需要: byte
找到: int
为什么b1、b2两个byte相加会变成int啊?
java怎么这样啊?
[java] byte b1 = 3, b2 = 4; b1 = b1 + b2; 为什么会提示第二句出错呢?
答案:3 悬赏:60
解决时间 2021-02-26 19:25
- 提问者网友:幽瑟玉琼情殇
- 2021-02-26 01:10
最佳答案
- 二级知识专家网友:苦柚恕我颓废
- 2021-02-26 02:46
虚拟机规定,int short boolean byte char在运算时都会转为int,32bit整型
所以这里要写成
b1=(byte)(b1+b2);
或者
b1+=b2;
所以这里要写成
b1=(byte)(b1+b2);
或者
b1+=b2;
全部回答
- 1楼网友:一起来看看吧
- 2021-02-26 03:58
两个数相加后是7. 是一个int类型,你需要加强制转换符
- 2楼网友:一身浪痞味
- 2021-02-26 03:46
byte在运算时会向上转型为int类型,所以b1+b2的结果是int类型的,但是b是byte类型的,类型不匹配所以报错。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯