Gli operatori di incremento e decremento in Java
Gli operatori di incremento e decremento in Java sono rispettivamente i simboli ++ e --.
++ incrementa un valore di un'unità
-- decrementa un valore di un'unità
A cosa servono?
E' una forma abbreviata per incrementare o ridurre di uno il valore di una variabile.
Esempi pratici
Esempio 1 ( incremento )
Nel seguente codice assegno alla variabile VAR il valore 3.
Poi eseguo l'operatore di incremento ( VAR++ ).
VAR=3;
VAR++;
Ora la variabile VAR vale 4.
Quindi, VAR++ equivale a scrivere VAR=VAR+1 in forma abbreviata.
Esempio 2 ( decremento )
In questo esempio assegno alla variabile VAR il valore 6.
Poi eseguo l'operatore di decremento ( VAR-- ).
VAR=6;
VAR--;
Ora la variabile VAR vale 5.
Quindi, VAR-- equivale a scrivere VAR=VAR-1 in forma abbreviata.
Nota. Il funzionamento degli operatori di incremento/decremento in Java è simile al linguaggio C. Pertanto, la posizione dell'operatore influisce sul risultato finale.
La posizione dell'operatore di incremento
L'operatore di incremento/decremento può essere utilizzato anche in un'assegnazione.
Posso indicarlo dopo il nome di una variabile.
A=B++;
A=B--
oppure prima il nome della variabile
A=++B;
A=--B;
Cosa cambia?
La posizione dell'operatore cambia il risultato dell'assegnazione di un valore alla variabile.
- Prima ( ++B ). Se usato come prefisso, l'operatore ++ incrementa ( o decrementa se si tratta di -- ) la variabile prima dell'assegnazione. Ad esempio:
B=1;
La variabile B viene "prima" incrementata di +1 e poi assegnata alla variabile A. Quindi, alla fine A e B valgono 2.
A=++B;
- Dopo ( B++). Se usato come suffisso, l'operatore ++ incrementa ( o decrementa se si tratta di -- ) la variabile dopo dell'assegnazione. Ad esempio:
B=1;
In questo caso il valore iniziale della variabile B viene assegnato alla variabile A e "dopo" la variabile B è incrementata di +1 e . Quindi, alla fine del calcolo A vale 1 mentre B vale 2.
A=B++;
A seconda della posizione dell'operatore il risultato finale è completamente differente.
Nel primo caso la variabile A=2 mentre nel secondo caso A=1.
E così via.