back to top

Java: operatore ternario

L’operatore ternario di Java è un costrutto condizionale che produce risultati analoghi al costrutto if … else … richiedendo, tuttavia, molto meno codice rispetto a quest’ultimo. Si tratta di una forma "sintetica" (occupa una sola linea di codice) attraverso la quale esprimere una condizione del tipo se … altrimenti …..

L’operatore ternario viene usato prevalentemente in fase di assegnazione di una variabile (ma non solo, ovviamente) e sfrutta gli operatori ? e : per esprimere il proprio potenziale. Vediamo un esempio:

boolean b = true:

...

int k = b ? k = 1 : k = 2;

L’ultima riga dell’esempio proposto è utilizzata per assegnare un valore ad una variabile k sulla base del valore di b. L’espressione viene letta in questo modo: se b è true allora k = 1 altrimenti k = 2.

In pratica la sua sintassi è la seguente:

condizione ? valore_1 : valore_2

Dopo il punto di domanda (?) abbiamo l’espressione in caso di condizione vera, dopo i due punti (:) l’espressione in caso di condizione falsa.

Questo è un costrutto molto sintetico che se viene usato eccessivamente rende il codice poco leggibile ma in determinati contesti può essere davvero molto comodo come, appunto, in fase di assegnazione di valore alle variabili.

Facciamo un’altro esempio, mettiamo il caso di creare un metodo statico che verifica se un numero è pari:

public static boolean pari(int k) {
    return k % 2 == 0 ? true : false;
}

Abbiamo sintetizzato in un unica riga la verifica del numero pari, cosa che – utilizzando l’if – risultava un procedimento un poco più lungo.

Pubblicità