以下两行代码之间有什么区别吗?
a += 10;
a = a + 10;
哪一个更好用?
答案 0 :(得分:3)
不,他们是一样的。
第一个a = a + 10
是长版本或表达式的完整版本,第二个a += 10
是增量运算符。
他们的结果是一样的。它会将当前值加10。
http://java.about.com/od/c/g/compoundassgnment.htm
所有复合运营商。
E1 op = E2形式的复合赋值表达式等效于E1 =(T)((E1)op(E2)),其中T是E1的类型,但E1仅被评估一次。
这意味着,
a += 10
等于这个陈述,
a = (int) (a + 10);
因此,只有编译器才有表达式和转换差异。否则他们的输出会是相同的。
答案 1 :(得分:2)
否 - + =语法更清晰,通常更清晰,但底层实现是相同的。
答案 2 :(得分:1)
我会推荐
a+=10
因为它会在内部进行类型转换
示例:
错误:
byte b=1;
b=b+1;
没有错误:
byte b=1;
b+=1;
答案 3 :(得分:-1)
没有区别。
a=a+10
;最好使用它,因为它很好地阅读和维护代码。