java,s+=1?
来源:百度知道 编辑:UC知道 时间:2024/05/23 14:19:28
short s=1;
s=s+1;错误,s+=1;为什么正确?
s=s+1;错误,s+=1;为什么正确?
类型转换问题嘛,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都可以的
1、 short s=s+1
会出现编译错误。s+1的时候,结果会被“升格”为int类型。把int赋给short当然编译错误。
2、 s+=1
对于“+=”操作,系统会自动执行类型转换操作,等价于s=(short)s+1。
3、java的自动转型是从小到大,而100.2是一个int型的数,不会自动转成short类型的,而后者却会自动转。赋值运算的优先级最低,而+=的优先级就不一样了。
s=s+1是一个加法运算,里面的1是一个int,运算结果int不能对short变量赋值。
s+=1是一个增值运算,没有把计算结果并对变量赋值的步骤,所以正确。
按照书上理论来讲
这两个表达式都是正确的
s+= 即 s=s+
S=Left(S,InStr(S,Chr(0))-1) 是什么意思
what's reflection in java
V=(t[j+1][j]>0)?(s*s+s*t[j+1][j]);(s*s-s*t[j+1][j]
1Wb=1V*S 1V*S是什么意思?
1M bit/s=( ) bit/s
为什么圆台的体积公式是V=1/3(S`+根号(S`S)+S)h
怎么搞JAVA C/S模式的系统?
what's wrong with my java program?
short s=1;s=s+1;与short s=1;s+=1;的区别是什么请教请教各位大侠,谢谢了~~~
如何解数列s(n)=(n-1)[s(n-1)+s(n-2)],s(1)=0,s(2)=1