2015-02-24 51 views
1

我要解释这种奇怪操作者= +(等于加)爪哇等于加上操作者

实施例#1:

Double a = new Double(5); 
Double b = new Double(10); 
a += b 

结果:

a=15.0 
b=10.0 

实施例#2:

Double a = new Double(5); 
Double b = new Double(10); 
a =+ b 

结果:

a=10.0 
b=10.0 

我明白第一个例子,但请解释一下我这是什么= +运营商例如二号做了。

而另一个有趣的事实是,这些运营商都是有效的,并编译: + =, - =,* =,/ =
但任何这两个不会编译: = * =/

+0

'a = + b'等价于'a = b' – 2015-02-24 10:08:40

回答

3

=+之后是赋值操作和一元+。这是完全有效的,什么情况是:

a = (+b); 

这几乎是相同的,当你想给一个变量的负值赋给另一个变量:

a = (-b); //a will be assigned with -10 

此外,=*不编译,因为不存在一元操作符*