15

+= 和 =+ 有什么区别?具体来说,在java中,但总的来说也是如此。

4

9 回答 9

31
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。)

于 2010-05-30T14:35:56.760 回答
11

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

于 2010-05-30T14:37:39.143 回答
8

+=是获取和增量:

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

=+本身并不是一个有效的标识符,但可能会在您使用一元运算符时出现+

a =+ 5; // assigns positive five to a
于 2010-05-30T14:36:10.403 回答
5

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

int a = 4; 诠释 b = 4;

一个+= 1;b =+1;

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

这表明正确格式化代码以显示意图是多么重要。

于 2010-05-30T14:42:42.677 回答
3

具体来说,在java中,但总的来说也是如此。

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

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

于 2010-05-30T14:43:05.613 回答
3

+=是一种增加数字或String在java中的方法。例如

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

没有=+操作员。但是,如果您这样做i =+ 10;,则意味着iis equal to +10which is equal to just 10

于 2010-05-30T15:07:57.813 回答
2

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

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

于 2010-05-30T14:46:40.353 回答
1

当您有 a+=b 时,这意味着您将 b 添加到 a 中已有的内容中。但是,如果您正在执行 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
于 2015-05-18T17:25:21.590 回答
0

如您所说, += 操作用于增加 R 值中规定的特定值。就像,

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

然而, =+ 不是任何正确的操作,它基本上是 2 个不同的运算符等于和一元加运算符彼此写成。事实上 = 后面的 + 符号没有意义,所以尽量不要使用它。它只会导致一个 hocum。

i =+ 1;
//is equivalent to
i = +(1);
于 2020-09-19T21:22:37.607 回答