黑马程序员技术交流社区
标题:
请大家帮我看看
[打印本页]
作者:
beimenshisan
时间:
2015-8-14 22:24
标题:
请大家帮我看看
byte a = 2;
byte b= 3;
byte c = a + b;
以上这个为啥总是会编译无法通过啊.,变量我全部都定义的byte呀!!
作者:
andyli
时间:
2015-8-14 22:32
简单啊,BYTE 全部改成INT 就好 要强转
作者:
pengbeilin
时间:
2015-8-14 23:50
本帖最后由 pengbeilin 于 2015-8-14 23:52 编辑
//首先你要知道byte是一个字节,int是4个字节的!
复制代码
作者:
一叶泛舟
时间:
2015-8-14 23:52
最后a b会默认为Int
作者:
iamzk
时间:
2015-8-14 23:57
这涉及到自动类型提升,即:byte,short等小于int类型精度的类型在参与运算是时会自动提升为int.所以,a+b的计算结果为int,将intl类型赋值给byte当然不合法!
作者:
burningzzy
时间:
2015-8-15 00:13
变量在运算时自动转换为int类型,应该为byte c=(byte)(a+b);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2