Cosa è l’operatore di assegnazione += in Java?

it: È l’operatore di assegnazione dell’addizione. Capiamo l’operatore += in Java e impariamo a usarlo per la nostra programmazione quotidiana.

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

È un operatore di assegnazione composta. Più comunemente usato per incrementare il valore di una variabile poiché x++ incrementa solo il valore di uno.

Incrementare i valori con l’operatore +=

Questo codice aumenterà il valore di a di 2. Vediamo gli esempi:

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

D’altra parte, se usiamo a++:

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

Il valore di a viene incrementato solo di 1.

Utilizzo di += nei cicli Java

L’operatore += può anche essere utilizzato con il ciclo for:

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

Il valore di i viene incrementato di 2 ad ogni iterazione.

Lavorare con tipi di dati multipli

Un’altra cosa interessante da notare è che aggiungere int a double usando l’espressione di addizione regolare darebbe un errore in Java.

int a = 1;
a = a + 1.1; // Dà errore 
a += 1.1;
System.out.println(a);

La prima riga qui dà un errore poiché un intero non può essere aggiunto a un double.

Output:

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

Tuttavia, quando si utilizza l’operatore += in Java, l’aggiunta funziona correttamente poiché Java converte ora il double in un valore intero e lo aggiunge come 1. Ecco l’output quando il codice viene eseguito con solo l’aggiunta dell’operatore +=.

Output

E1 op= E2 è equivalente a E1 = (T) ((E1) op (E2)), dove T è il tipo di E1, tranne che E1 viene valutato solo una volta. Questo è Java che fa il typecasting per aggiungere i due numeri.

Concatenazione di stringhe

L’operatore += funziona anche per la mutazione delle stringhe.

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

La stringa “Ciao” è stata mutata e la stringa “Mondo” è stata concatenata ad essa.

Conclusione

Il += è un importante operatore di assegnazione. Viene utilizzato più comunemente con i cicli. La stessa assegnazione funziona anche con altri operatori come -=, *=, /=.

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