数値に対する代入演算子
a = b |
bの値をaに代入する |
a += b |
a = a + bと等価 |
a -= b |
a = a ― bと等価 |
a *= b |
a = a * bと等価 |
a /= b |
a = a / bと等価 |
a %= b |
a = a % bと等価 |
+=など演算と代入を同時に行う演算子を複合代入演算子(compound assignment operator)と呼ぶ。複合代入演算子と対比する場合は、=を単純代入演算子(simple assignment operator)と呼ぶ。
代入演算子の左辺に置けるのは変数のみで、リテラルや式は置けない。
|
1 2 3 |
2 += 1; // エラー a + 1 = 2; // エラー a + b = 2; // エラー |
宣言文で使えるのは=のみで、+=などの複合代入演算子は使えない。
|
1 |
int a += 1 // エラー、=しか使えない |
文字列に対する代入演算子
a = b |
aの内容をbに代入する |
a += b |
aの文字列とbの文字列を結合した結果をaに代入する |
左辺が変数でなければならない点、宣言文で+=が使えない点は数値に対する場合と同じ。
なお、左辺はString型の変数でなければならないが、右辺はString型のほかchar型でもよい。
|
1 2 3 4 5 6 |
String s = "ABC"; s += "DEF"; System.out.println(s); // ABCDEF s += 'g'; System.out.println(s); // ABCDEFg |