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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王雨神 中级黑马   /  2013-11-11 09:41  /  1301 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第四题: 以下代码哪个是正确的?为什么?
                 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;  
能详细讲解下吗?

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

5 个回复

倒序浏览
额。。。黑马测试题
回复 使用道具 举报
A C D 正确。
byte b = 1 + 1 右边为常量,编译器会自动判断是否超过byte型范围。
b = b + 1; 错误,需要强制类型转换。b+1运算完是int型,会损失精度
+= 和 ++ 内部由虚拟机完成了隐式的自动转换,所以不存在类型兼容问题。
回复 使用道具 举报 1 0
帖子已分类,若仍有疑惑,可重新提问
回复 使用道具 举报
kellyzyb谢谢你!
回复 使用道具 举报
我是做完测试题才看到的啊:'(
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马