第1个回答 推荐于2016-08-11
类型转换问题嘛,s是short型,s+1是short+int,java会自动将类型提升变换为int+int,所以得到的结果还是int,是无法将short=int+int的,需要做一个类型强制转换,s=(short)(s+1).
s+=1的意思不能跟上面那样理解,它表示的就是每次自增1,就好像s++,++s一样,无非这里指定了你每次自增的值是多少,你也可以写成s+=2,s+=3都可以的本回答被提问者采纳
第2个回答 2009-05-24
s=s+1是一个加法运算,里面的1是一个int,运算结果int不能对short变量赋值。
s+=1是一个增值运算,没有把计算结果并对变量赋值的步骤,所以正确。
第3个回答 2009-05-24
按照书上理论来讲
这两个表达式都是正确的
s+= 即 s=s+
第4个回答 2016-08-16
在java中我不怎么清楚。
但是在c++中s
+=
1的效率高
但是在c++中采用这种符合运算符,一是为了简化程序,使程序精练,二是为了提高编译效率,有利于编译,能产生质量较高的目标代码。如果你没有学过编译原理,就跳过这个问题