A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张跃峰 中级黑马   /  2015-3-24 11:59  /  650 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

byte b=1;b=b+1; 这个编译错误,错误的原因是什么呢,有人说是因为编译器无法确定等号右面的b的值,所以报错,也有人说是因为int转byte会有失精度造成的,到底什么原因呢?

1 个回复

倒序浏览
应该损失精度。 b自动提升为int型,加1后就不能再赋值到byte b中。需要强转为byte类型
用b+= 1就能编译成功,内部有自动转换动作
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马