赋值运算符:
符号:
= ,+= ,-= ,*= ,/= ,%=
示例:
int a,b,c; a=b=c=3;
int a = 3; a+=5; 等同运算a=a+5;
思考:
short s = 4 把右边的赋给左边
s = s + 5 编译会失败,原因:因为S会被提升为int类型,运算后的结果还是int类型。无法赋值给short类型。s+4是int型,s装不下,会丢失精度。
s+=5; 把左右两边的和赋值给左边,编译通过,以为+=运算符在给s赋值时,自动完成了强转操作。
赋值运算符:
符号:
= ,+= ,-= ,*= ,/= ,%=
示例:
int a,b,c; a=b=c=3;
int a = 3; a+=5; 等同运算a=a+5;
思考:
short s = 4 把右边的赋给左边
s = s + 5 编译会失败,原因:因为S会被提升为int类型,运算后的结果还是int类型。无法赋值给short类型。s+4是int型,s装不下,会丢失精度。
s+=5; 把左右两边的和赋值给左边,编译通过,以为+=运算符在给s赋值时,自动完成了强转操作。