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

对于 short s1 = 1; s1 = s1 + 1;由于s1+1运算时会自动提升表达式的类型,所以结果是int
型,再赋值给short类型 s1时,编译器将报告需要强制转换类型的错误。
对于 short s1 = 1; s1 += 1;由于  +=是java 语言规定的运算符,java编译器会对它进行特殊
处理,因此可以正确编译。

10 个回复

正序浏览
正解!要是还有其他类型的转换总结来比较就好了!
回复 使用道具 举报
恩恩,这关系到了类型的提升
回复 使用道具 举报
··自己都知道了·
回复 使用道具 举报
以前看过这个,有印象
回复 使用道具 举报
顶一下,写的很详细啊
回复 使用道具 举报
s1与1相加的时候 就隐式提升为int类型 相加完了肯定得要强转啊
回复 使用道具 举报
看得出楼主也是来混分的~~
回复 使用道具 举报
学习了~
回复 使用道具 举报
楼主辛苦了,非常感谢!
回复 使用道具 举报
是的,就是这个样子的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马