+=と=+の違いは何ですか?具体的には、Javaですが、一般的にも同様です。
9 に答える
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を参照してください。)
+=
代入の左辺を右辺の値だけインクリメントし、それを左辺の変数に代入する演算子です。 =+
は演算子ではなく、実際には 2 つの演算子です。代入演算子と、右辺の値が正であることを示す=
単項プラス(正) 演算子です。+
単項マイナスで否定されない限り、値は正であるため、実際には冗長です。=+
実際の利益よりも混乱を引き起こす可能性が高いため、この構造は避けるべきです。
+=
get とインクリメントです:
a += 5; // adds 5 to the value of a
=+
単独では有効な識別子ではありませんが、単項演算子を使用している場合に表示される可能性があります+
。
a =+ 5; // assigns positive five to a
=+ は演算子ではありません。+ は、代入演算子に続く数値の一部です。
int a = 4; int b = 4;
+= 1; b =+1;
System.out.println("a=" + a + ", b=" + b);
これは、意図を示すためにコードを適切にフォーマットすることがいかに重要かを示しています。
具体的にはJavaですが、一般的にもそうです。
Java では、 のタイプに応じて、演算子が算術加算演算子または文字列連結演算子になる場合x += <expr>;
と同等です。一方、 is は単項プラス演算子である場合、実際には醜い書き方です。つまり、数値型の場合はノーオペレーションであり、それ以外の場合はコンパイル エラーになります。x = x + ( <expr> );
+
x
x =+ <expr>;
x = + <expr>;
+
この質問は、一般的なケースでは答えられません。「+=」演算子をサポートする言語もあれば、サポートしない言語もあります。同様に、「=+」演算子をサポートする言語もあれば、サポートしない言語もあります。また、言語によっては、アプリケーションがいずれかの演算子を「オーバーロード」することを許可する場合があります。オペレーターが「一般的に」何を意味するのかを尋ねるだけでは意味がありません。
+=
String
数値またはJavaでインクリメントする方法です。例えば
int i = 17;
i += 10; // i becomes 27 now.
=+
オペレーターはいません。しかし、そうすると、is equal to which is equal to just をi =+ 10;
意味します。i
+10
10
「一般的に」と=+
はどういう意味ですか? .+=
i =+ 4
i = i + 4
CRM (C Reference Manual) は、 、 などで C 言語を説明した=+
ドキュメント=-
です=>>
。
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