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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shijianws 中级黑马   /  2014-7-22 13:51  /  1344 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

以下代码哪个是正确的,哪个错误?为什么?
a. byte b = 1 + 1;     
b. byte b = 1; b = b + 1; //就知道这个不正确,b+1为int不能赋予给b其他的呢
c. byte b = 1; b = b += 1;    
d. byte b = 1; b = ++b;  

7 个回复

倒序浏览
shijianws 来自手机 中级黑马 2014-7-22 14:05:29
沙发
没人吗?(^_^)
回复 使用道具 举报
我之前问过这个问题,发个链接类型转换问题你看一下吧
http://bbs.itheima.com/thread-117578-1-1.html
(出处: 黑马程序员IT技术论坛)
回复 使用道具 举报
这个是java设计的一个小bug吧。。。

下面三行实现的功能都是一样的,但是第一个就不通过。。。
byte b = 1; b = b + 1; //编译不通过
byte b = 1; b += 1; //ok
byte b = 1; b ++; //ok

所以你应该能看出来了,以后java的语法肯定也会能支持第一种的
回复 使用道具 举报
类型转换的问题,
你在加的时候, 1 是int型的,
所以b+1的结果是提升为int型,
但是 你开始定义的 b 是byte型的,
所以会编译失败.
回复 使用道具 举报
shijianws 来自手机 中级黑马 2014-7-23 04:39:06
地板
其他三个呢,只要想问其他三个
回复 使用道具 举报
你自己编译,测试都可以的啊
回复 使用道具 举报
我记得视频上有讲过,在前40个视频上
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马