¿Qué es el operador de asignación de adición (+=) en Java?

Es el operador de asignación de adición. Vamos a entender el operador += en Java y aprender a usarlo para nuestra programación diaria.

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

Es un operador de asignación compuesta. Más comúnmente usado para incrementar el valor de una variable ya que x++ solo incrementa el valor en uno.

Incrementando Valores Con el Operador +=

Este código incrementará el valor de a en 2. Veamos los ejemplos:

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

Por otro lado, si usamos a++:

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

El valor de a se incrementa solo en 1.

Usando += en Bucles de Java

El operador += también puede ser usado con el bucle for:

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

El valor de i se incrementa en 2 en cada iteración.

Trabajando con múltiples tipos de datos

Otra cosa interesante a notar es que agregar int a double usando la expresión de adición regular daría un error en Java.

int a = 1;
a = a + 1.1; // Da error 
a += 1.1;
System.out.println(a);

La primera línea aquí da un error ya que no se puede sumar un entero a un double.

Salida:

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

Sin embargo, al usar el operador += en Java, la adición funciona bien ya que Java convierte el double en un valor entero y lo suma como 1. Aquí está la salida cuando el código se ejecuta solo con la adición del operador +=.

Output

E1 op= E2 es equivalente a E1 = (T) ((E1) op (E2)), donde T es el tipo de E1, excepto que E1 se evalúa solo una vez. Esto es Java realizando una conversión de tipo para sumar los dos números.

Concatenación de Cadenas

El operador += también funciona para la mutación de cadenas.

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

La cadena “Hola” ha sido mutada y la cadena “Mundo” ha sido concatenada a ella.

Conclusión

El += es un importante operador de asignación. Se usa más comúnmente con bucles. La misma asignación también funciona con otros operadores como -=, *=, /=.

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