解释short s=1;s+=2;与s=s+2的区别.
首先,数据类型之间是由范围较小时的数据类型自动转换到范围较大的数据类型,
Short s=1: S+=2;
(暂时的理解)+=会进行内部处理, “+=”左边的数据类型会自动转换为右边的数据类型.
Short s=1; s=s+2;
因为s是short类型,2是int类型
Short---->int类型(自动)
s+2=1+2=3(int类型)
Int类型再赋值给shor时 会出现数据类型转换错误,,
解决方法是进行强制数据类型转换
S=(short)(s+2);