sofeel 发表于 2015-3-4 23:15
是这样:你随便写个整数,它默认的就是int. 那题中的3,4,5都是int型。
所以, byte a=3,b=4,c=5;这句话 ...
李忠兵 发表于 2015-3-5 02:34
但是byte a=3,b=4,c=5;这句编译可以通过的啊,为什么说它是错的。。。
将一个在byte范围内的常量是可以直 ...
李忠兵 发表于 2015-3-5 02:34
但是byte a=3,b=4,c=5;这句编译可以通过的啊,为什么说它是错的。。。
将一个在byte范围内的常量是可以直 ...
z47057554 发表于 2015-3-5 03:11
byte在初始化的时候会自动强转的,
byte b=4; 是可以的
赋值不会强转的
硫氢化铁 发表于 2015-3-4 23:19
第四行写错了,应该改成a=(byte)(b+c);这是转换的问题
ankje 发表于 2015-3-5 21:58
是的,正如我所理解,java会把它变为 a=(int)(a+c) ,若按你所说的对做就不会报错了 ...
ankje 发表于 2015-3-5 21:55
经过测试,
byte b;
b=4;
李忠兵 发表于 2015-3-5 02:34
但是byte a=3,b=4,c=5;这句编译可以通过的啊,为什么说它是错的。。。
将一个在byte范围内的常量是可以直 ...
李忠兵 发表于 2015-3-5 02:34
但是byte a=3,b=4,c=5;这句编译可以通过的啊,为什么说它是错的。。。
将一个在byte范围内的常量是可以直 ...
z47057554 发表于 2015-3-6 03:52
确实是这样,b=-128~127是不会报错的,这个跟自动装箱的享元设计模式类似
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |