str+=1的意思就是str
=
str+1;
即a+=b等价于a=
a+b;
+=
是java语言规定的
运算符,java编译器会对它进行特殊处理,可以正确编译。
这样写是不会报错的。
str+=1和
str
=
str+1两种写法在某种情况下还是有区别的,如果str是short类型
,第二种写法就会报错,就是str
=
str
+1;这样写是会报错的,因为str+1运算时会自动提升
表达式的类型,所以结果为int型,再赋值给short类型的str时,就会报需要强制转换类型的错误。
所以,+=这样写,即规范,也可以避免一些错误。