黑马程序员技术交流社区
标题:
运算规则的问题
[打印本页]
作者:
客剑
时间:
2014-8-31 16:47
标题:
运算规则的问题
以下代码哪个是正确的?为什么?
a. byte b = 1 + 1;
b. byte b = 1; b = b + 1;
c. byte b = 1; b = b += 1;
d. byte b = 1; b = ++b;
//是不是题目有错?编译一下,就b报错“损失精度”?其他都没问题,为什么??
作者:
花开彼岸天
时间:
2014-8-31 17:21
B 项没有转换 b是byte型 b+1是整型 C D隐藏了转化 b=b=(bate)(b+1)
作者:
yingsun
时间:
2014-9-1 01:55
哈哈!这道题是基础测试的题吧,我也有这道,还以为是多选呢,来学习的,到底答案是什么啊?
作者:
隔夜修书
时间:
2014-9-1 08:48
在java运算中byte,short,char运算都会先把这些值转换为int型,然后对int型的数值运算,得到int型的结果。对于B选项b=b+1来说,首先将b转换为int型与1相加得到int型的2,再赋给b,由于b是byte型,接收int型的值就会报这个经典错误。
作者:
yjiang_09
时间:
2014-9-1 08:58
不错,学习了
作者:
菜鸟一号
时间:
2014-9-1 09:34
这道题老毕说得很清楚了
作者:
她只是过客
时间:
2014-9-1 10:12
学习学习
作者:
MR.Sun
时间:
2014-9-1 10:21
。你们基础测试是这种么?!为什么我的全是编程题。。。。。。。o(╯□╰)o。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2