java a 表示什么区别_关于java:a + = 10和a = a + 10之间有什么区别

本问题已经有最佳答案,请猛点这里访问。

以下两行代码之间有什么区别吗?

a += 10;

a = a + 10;

哪一个更好用?

不。使用您认为最易读的。

@Mat不是可能重复,而是完全重复。:)

如果两个操作数在左侧是相同类型或兼容类型作为变量那么它将没有任何区别。但是左侧的类型与右侧表达的结果不匹配然后它将产生差异。这个+=复合赋值运算符 将在内部进行类型转换。因此使用a += 10;会更好。

如果你有byte a = 1;,那么这不会编译a = a + 10;,但是这样做a += 10;不同之处在于存在隐式转换。

不,他们是一样的。

第一个a = a + 10是长版本或表达式的完整版本,第二个a += 10是增量运算符。

他们的结果是一样的。它会将当前值加10。

http://java.about.com/od/c/g/compoundassgnment.htm

所有复合运营商。

Jon Skeet的一些帮助

A compound assignment expression of the form E1 op= E2 is equivalent to E1 = (T)((E1) op (E2)), where T is the type of E1, except that E1 is evaluated only once.

意思就是

a += 10

等于这个陈述,

a = (int) (a + 10);

因此,只有编译器才有表达式和转换差异。否则他们的输出会是相同的。

这是参考链接。 https://stackoverflow.com/a/2081951/1762944

否 - + =语法更清晰,通常更清晰,但底层实现是相同的。

我会推荐

a+=10

因为它会在内部进行类型转换

示例:

错误:

byte b=1;

b=b+1;

没错误:

byte b=1;

b+=1;

没有区别。

a=a+10;最好使用,因为它很好地阅读和维护代码。

有一点不同stackoverflow.com/a/23826828/2194456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值