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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 静水★流深 中级黑马   /  2015-6-8 23:24  /  219 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

short s=5;为什么,s=s+2;会报错,而,s+=2;不报错。。。

3 个回复

倒序浏览
s+=2  隐含了一个强制转换。 s = (int)(s+2)
回复 使用道具 举报
s+=2在运行的时候是自动有一个强转的
回复 使用道具 举报
低于int型的运算,在运算是都会自动转int型,就是说s+2结果是int型,赋值个byte型所以报错,+=符号会隐性的强制转型,将int型转成byte型,所以不报错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马