+ =和= +之间有什么区别?

时间:2010-05-30 14:33:50

标签: java syntax operators increment unary-operator

+ =和= +之间有什么区别? 具体来说,在java中,但一般也是。

9 个答案:

答案 0 :(得分:30)

i += 4;

装置

i = i + 4;  // increase i by 4.

虽然

i =+ 4;

相当于

i = +4;   // assign 4 to i. the unary plus is effectively no-op.

(有关一元+的内容,请参阅http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.15.3。)

答案 1 :(得分:10)

+=是一个运算符,它通过右侧的值递增赋值的左侧,并将其分配回左侧的变量。 =+不是运算符,但实际上是两个运算符:赋值运算符=和一元加+(正)运算符,表示右侧的值为正。它实际上是多余的,因为值是正的,除非它们被一元减去否定。你应该避免=+构造,因为它比任何实际的好处更容易引起混淆。

答案 2 :(得分:7)

+=得到并增加:

a += 5; // adds 5 to the value of a

=+本身并不是真正有效的标识符,但在您使用一元+运算符时可能会显示:

a =+ 5; // assigns positive five to a

答案 3 :(得分:5)

= +不是运营商。 +是赋值运算符后面的数字的一部分。

int a = 4;   int b = 4;

a + = 1;   b = + 1;

System.out.println(“a =”+ a +“,b =”+ b);

这表明正确格式化代码以显示意图的重要性。

答案 4 :(得分:3)

  

具体来说,在java中,但一般也是。

在Java中x += <expr>;等同于x = x + ( <expr> );,其中+运算符可以是算术加法运算符或字符串连接运算符,具体取决于x的类型。另一方面,x =+ <expr>;实际上是编写x = + <expr>;的一种丑陋方式,其中+是一元加运算符...即数值类型的无操作和否则编译错误。

在一般情况下,问题无法解决。有些语言支持“+ =”运算符,而其他语言则不支持。同样,某些语言可能支持“= +”运算符,而其他语言则不支持。并且一些语言可能允许应用程序“重载”一个或另一个运算符。询问操作员“一般”是什么意思毫无意义。

答案 5 :(得分:3)

+=是一种在java中增加数字或String的方法。 E.g。

int i = 17;
i += 10;  // i becomes 27 now.

没有=+运算符。但是,如果您执行i =+ 10;,则表示i等于+10,等于10

答案 6 :(得分:2)

我不知道“一般”是什么意思,但在早期版本的C语言(大多数Java语法来自C ++)中,=+是原始语法后来变为+=,即i =+ 4等同于i = i + 4

CRM(C参考手册)是使用=+=-=>>等描述C语言的文档。

答案 7 :(得分:1)

当你有+ = b时,这意味着你要将b添加到已经存在的任何内容中。但是,如果您正在执行a = + b,则需要将+ b分配给a。

int a=2;
int b=5;
a+=b;
System.out.println(a); //Prints 7

a=2;
b=5;
a=+b;
System.out.println(a); //Prints 5

答案 8 :(得分:0)

您所说的+ =操作用于按R值中指定的特定值递增。

i = i+1;
//is equivalent to 
i += 1;

然而,= +不是任何正确的运算,它基本上是2个不同的运算符,它们彼此相等且等于一元加运算符。=之后的+号实际上是没有意义的,因此尽量不要使用它,只会导致一个胡扯。

i =+ 1;
//is equivalent to
i = +(1);