Javaでの+=加算割り当て演算子とは?

それは加算代入演算子です。Javaでの+=演算子を理解し、日常のプログラミングで使用する方法を学びましょう。

x += y in Java is the same as x = x + y.

これは複合代入演算子です。変数の値を増やすために最もよく使用される演算子であり、x++は値を1だけ増やすだけです。

+=演算子を使った値の増加

このコードは変数aの値を2増やします。以下に例を示します:

int a = 1;
a+=2;
System.out.println(a);
Output

一方、a++を使用する場合:

int a = 1;
a++;
System.out.println(a);
Output

aの値は1だけ増えます。

Javaのループで+=を使用する

+=演算子はforループでも使用できます:

for(int i=0;i<10;i+=2)
{
    System.out.println(i);
}
Output

iの値は各イテレーションで2増えます。

複数のデータ型での操作

興味深いことに、Javaでは通常の加算式でintとdoubleを加えるとエラーが発生します。

int a = 1;
a = a + 1.1; // エラーが発生します
a += 1.1;
System.out.println(a);

ここでの最初の行は、intはdoubleに追加できないためエラーが発生します。

出力:

error: incompatible types: possible lossy conversion from double to int
a = a + 1.1; // エラーが発生します

ただし、Javaの+=演算子を使用すると、doubleを整数値に変換して1を追加するため、追加が正常に動作します。コードが+=演算子の追加のみで実行された場合の出力は次のとおりです。

Output

E1 op= E2は、E1 = (T) ((E1) op (E2))と同等です。ここで、TはE1の型ですが、E1は1回だけ評価されます。これは、Javaが2つの数値を追加するために型キャストを行っています。

文字列の連結

+=演算子は文字列の変異にも使用できます。

String a = "Hello";
a+="World";
System.out.println(a);
Output

文字列「Hello」が変異され、文字列「World」がそれに連結されています。

結論

+=は重要な代入演算子です。これは、ループとともに最も一般的に使用されます。同じ代入は、-=、*=、/=などの他の演算子でも機能します。

Source:
https://www.digitalocean.com/community/tutorials/addition-assignment-operator-in-java