黑马程序员技术交流社区

标题: 问个基本类型赋值问题 [打印本页]

作者: shijianws    时间: 2014-7-22 13:51
标题: 问个基本类型赋值问题
以下代码哪个是正确的,哪个错误?为什么?
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;  
作者: shijianws    时间: 2014-7-22 14:05
没人吗?(^_^)
作者: 李彦来    时间: 2014-7-22 18:31
我之前问过这个问题,发个链接类型转换问题你看一下吧
http://bbs.itheima.com/thread-117578-1-1.html
(出处: 黑马程序员IT技术论坛)
作者: jieyu90    时间: 2014-7-22 19:33
这个是java设计的一个小bug吧。。。

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

所以你应该能看出来了,以后java的语法肯定也会能支持第一种的
作者: hanchun776    时间: 2014-7-22 20:51
类型转换的问题,
你在加的时候, 1 是int型的,
所以b+1的结果是提升为int型,
但是 你开始定义的 b 是byte型的,
所以会编译失败.
作者: shijianws    时间: 2014-7-23 04:39
其他三个呢,只要想问其他三个
作者: springing    时间: 2014-7-23 09:17
你自己编译,测试都可以的啊

作者: springing    时间: 2014-7-23 09:18
我记得视频上有讲过,在前40个视频上




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