黑马程序员技术交流社区
标题:
请教一个问题,请帮忙解答,谢谢!
[打印本页]
作者:
肖银
时间:
2013-12-22 22:26
标题:
请教一个问题,请帮忙解答,谢谢!
本帖最后由 肖银 于 2013-12-25 22:25 编辑
新手请教,以下四个语句,为什么第四个是错误的.
byte b = 1 + 1; //对:
byte b = 1; b = ++b; //对:
byte b = 1; b = b += 1; //对:
byte b = 1; b = b + 1; //错误
作者:
于磊
时间:
2013-12-22 22:33
byte b+=1 的时候你定义了b(其实是在使用之前已经做了强制转换)是一个byte型变量,可以正常运算
而byte b=b+1 当运算b+1的时候,发现b没有被定义,所以出现了两种数据类型不一。精度高的转精度低的,会发生丢失精度。
作者:
776699
时间:
2013-12-23 00:35
b=b+1;结果默认为int类型, 转化后损失精确度,需要强制转化才能编译通过。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2