先看一段示例代码:
short s=3;在上述代码中,s=s+1出错的原因是右边s+1计算结果为int类型,左边为short类型,违反了自动转换规则,需要强制类型转换。
s+=1; //编译通过
s=s+1; //编译发生错误</span>
s+=1编译正确的原因在于“+=”运算符会自动根据接收变量的类型进行类型的强制转换。
例如x+=y语句等价于“x=x+y"和类型强制转换两个操作。
先看一段示例代码:
short s=3;在上述代码中,s=s+1出错的原因是右边s+1计算结果为int类型,左边为short类型,违反了自动转换规则,需要强制类型转换。
s+=1; //编译通过
s=s+1; //编译发生错误</span>
s+=1编译正确的原因在于“+=”运算符会自动根据接收变量的类型进行类型的强制转换。
例如x+=y语句等价于“x=x+y"和类型强制转换两个操作。