O que é o operador de atribuição de adição += em Java?

**Adição do Operador de Atribuição: Entendendo o += em Java**

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

O += é um operador de atribuição composto. Ele é mais comumente utilizado para incrementar o valor de uma variável, já que x++ apenas incrementa o valor em um.

Incrementando Valores com o Operador +=

Este código aumentará o valor de “a” em 2. Vamos ver os exemplos:

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

Por outro lado, se usarmos a++:

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

O valor de “a” é aumentado apenas por 1.

Utilizando += em Laços de Repetição em Java

O operador += também pode ser usado com o loop for:

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

O valor de “i” é incrementado em 2 a cada iteração.

Trabalhando com Múltiplos Tipos de Dados

Outra coisa interessante de se observar é que adicionar int a double usando a expressão de adição regular resultaria em um erro em Java.

int a = 1;
a = a + 1.1; 
// Dá erro 
a += 1.1;
System.out.println(a);

A primeira linha aqui dá um erro, pois int não pode ser adicionado a um double.

Output:

error: incompatible types: possible lossy conversion from double to int
a = a + 1.1; // Dá erro 

No entanto, ao usar o operador += em Java, a adição funciona bem, pois Java converte o double para um valor inteiro e o adiciona como 1. Aqui está a saída quando o código é executado apenas com a adição do operador +=.

Output

E1 op= E2 é equivalente a E1 = (T) ((E1) op (E2)), onde T é o tipo de E1, exceto que E1 é avaliado apenas uma vez. Isso é o Java fazendo typecasting para adicionar os dois números.

Concatenação de Strings

O operador += também funciona para mutação de strings.

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

A string “Hello” foi mutada e a string “World” foi concatenada a ela.

Conclusão

O += é um importante operador de atribuição. É mais comumente usado com loops. A mesma atribuição também funciona com outros operadores como -=, *=, /=.

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