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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

昨天看毕老师的基础视频教程,讲到“+=”这块我不太懂。S=S+5运行错误,因为S为2个字节,5为4个字节,相加后4个字节不能再赋给2个字节的S。但是S+=5运行正确,老师说的是只做一次转换,值会自动提升为4个字节。
我想问的是为什么后者自动转换而前者不可以?

3 个回复

倒序浏览
这个只需要记住就行,+=性质决定的。
回复 使用道具 举报
s=s+5;这是两次运算,先做加法运算,再把值赋给s。
s+=5;一次运算,就是直接赋值,“+=”运算符在给s赋值时,就已经自动完成了强制转换的操作。
回复 使用道具 举报
ZhangHeng 发表于 2015-6-30 16:54
s=s+5;这是两次运算,先做加法运算,再把值赋给s。
s+=5;一次运算,就是直接赋值,“+=”运算符在给s赋值 ...

楼上正解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马