说明与案例
s = s + 2和s += 2的作用都是增加2。
不过使用起来还是有区别的,如果s是int类型,这两者效果完全相同,但如果s是byte或short类型,第一种编译则会报错,因为byte类型或short类型的s和int类型的2相加,其结果是需要int类型来接收,所以byte s = s + 2或者short s = s + 2是不符合规则的,而第二种则不会报错,因为+=不会改变本身变量的数据类型,所以开发过程中推荐使用s += 2,不推荐使用s = s + 2。
如果你一定要用s = s + 2,这也是可以的,那你可以这样,short s = (short)(s + 2),也就是s + 2先得出int型的结果,再将结果强转成short型,这样便可以通过编译,其结果也是正确的。
扩展
-=、*=、/=和%=跟上面是一模一样的情形。