3

我需要解释一下这个奇怪的运算符=+(等于加号)

示例 #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

我理解第一个示例,但请解释一下这个=+运算符在示例 2 中做了什么。

另一个有趣的事实是,这些运算符是有效且可编译的:+=、-=、*=、/=
但这两个中的任何一个都不会编译:=*、=/

4

1 回答 1

5

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

a = (+b); 

当您要将变量的负值分配给另一个变量时,几乎相同:

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

此外,=*不编译,因为没有*一元运算符。

于 2015-02-24T10:07:03.490 回答