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

+=代入の左辺を右辺の値だけインクリメントし、それを左辺の変数に代入する演算子です。 =+は演算子ではなく、実際には 2 つの演算子です。代入演算子と、右辺の値が正であることを示す=単項プラス(正) 演算子です。+単項マイナスで否定されない限り、値は正であるため、実際には冗長です。=+実際の利益よりも混乱を引き起こす可能性が高いため、この構造は避けるべきです。

于 2010-05-30T14:37:39.143 に答える
8

+=get とインクリメントです:

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; int b = 4;

+= 1; b =+1;

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

これは、意図を示すためにコードを適切にフォーマットすることがいかに重要かを示しています。

于 2010-05-30T14:42:42.677 に答える
3

具体的にはJavaですが、一般的にもそうです。

Java では、 のタイプに応じて、演算子が算術加算演算子または文字列連結演算子になる場合x += <expr>;と同等です。一方、 is は単項プラス演算子である場合、実際には醜い書き方です。つまり、数値型の場合はノーオペレーションであり、それ以外の場合はコンパイル エラーになります。x = x + ( <expr> );+xx =+ <expr>;x = + <expr>;+

この質問は、一般的なケースでは答えられません。「+=」演算子をサポートする言語もあれば、サポートしない言語もあります。同様に、「=+」演算子をサポートする言語もあれば、サポートしない言語もあります。また、言語によっては、アプリケーションがいずれかの演算子を「オーバーロード」することを許可する場合があります。オペレーターが「一般的に」何を意味するのかを尋ねるだけでは意味がありません。

于 2010-05-30T14:43:05.613 に答える
3

+=String数値またはJavaでインクリメントする方法です。例えば

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

=+オペレーターはいません。しかし、そうすると、is equal to which is equal to just をi =+ 10;意味します。i+1010

于 2010-05-30T15:07:57.813 に答える
2

「一般的に」と=+はどういう意味ですか? .+=i =+ 4i = i + 4

CRM (C Reference Manual) は、 、 などで C 言語を説明した=+ドキュメント=-です=>>

于 2010-05-30T14:46:40.353 に答える
1

a+=b がある場合、それは、既に a にあるものに 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
于 2015-05-18T17:25:21.590 に答える