1、对于s1=s1+1,s1+1会自动提升类型,结果为int型,再赋值给short型的s1时会报强制类型转换的错误。
2、对于s1+=1,由于+=是JAVA语言规定的运算符,JAVA编译器会对其进行特殊处理。
本文探讨了Java中short类型的变量在进行算术运算时遇到的类型转换问题。通过两个例子对比解释了直接加法运算与复合赋值运算符(如+=)的区别,以及它们如何影响编译过程。
1、对于s1=s1+1,s1+1会自动提升类型,结果为int型,再赋值给short型的s1时会报强制类型转换的错误。
2、对于s1+=1,由于+=是JAVA语言规定的运算符,JAVA编译器会对其进行特殊处理。

被折叠的 条评论
为什么被折叠?