Java基础:X+=Y和X=X+Y的区别

时间:2022-06-16 01:13:07

先看一段示例代码:

short s=3;
s+=1; //编译通过
s=s+1; //编译发生错误</span>
在上述代码中,s=s+1出错的原因是右边s+1计算结果为int类型,左边为short类型,违反了自动转换规则,需要强制类型转换。

s+=1编译正确的原因在于“+=”运算符会自动根据接收变量的类型进行类型的强制转换

例如x+=y语句等价于“x=x+y"和类型强制转换两个操作。


相关文章