基本语法中碰见的问题---求救

jsyzzw 2003-09-13 08:24:33
byte b1=1;
byte b2=2;
byte b3=b1+b2; //error
书上说:两个byte变量相加的结果是int类型,不能把int类型值赋给byte类型的b3
但是1+2=3在byte的范围之内呀(-128----+127)
谁能说的详细点呀?

但是
int b1=1;
int b2=2;
int b3=b1+b2;
却是正确的
...全文
24 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsyzzw 2003-09-14
  • 打赏
  • 举报
回复
int类型不能赋给byte类型我知道的
jsyzzw 2003-09-14
  • 打赏
  • 举报
回复
int b1=1;
int b2=2;
int b3=b1+b2;//我可以认为它错!按照上面的理解:两个int变量相加的结果是long类型,不能把long类型的变量赋给int类乡的变量b3
hui3zhihui 2003-09-13
  • 打赏
  • 举报
回复
既然两个byte相加的结果是int,那么int怎么能赋值给byte呢??类型不同呀!
必须显式转化,
int b1=1;
int b2=2;
int b3=b1+b2;
上面的三个变量类型相同,当然可以
nakoko 2003-09-13
  • 打赏
  • 举报
回复
对.两个byte相加后反返航返回的是int.只能用显式转换为int.
byte b3 = (byte)(b1 + b2);

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧