黑马程序员技术交流社区

标题: 问一个小问题 [打印本页]

作者: 张跃峰    时间: 2015-3-24 11:59
标题: 问一个小问题
byte b=1;b=b+1; 这个编译错误,错误的原因是什么呢,有人说是因为编译器无法确定等号右面的b的值,所以报错,也有人说是因为int转byte会有失精度造成的,到底什么原因呢?
作者: Moo頭    时间: 2015-3-24 12:34
应该损失精度。 b自动提升为int型,加1后就不能再赋值到byte b中。需要强转为byte类型
用b+= 1就能编译成功,内部有自动转换动作




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2