Operatore Ternario
Come possiamo abbreviare un'istruzione if-else?
L'istruzione if
potrebbe non apparire sempre elegante, ma Java offre un modo più rapido e conveniente per verificare le condizioni. Si chiama operatore ternario e ha la seguente sintassi:
condition ? expression_for_true : expression_for_false
Per prima cosa, impostiamo una condizione, ad esempio 10 > 5
, e poi inseriamo un punto interrogativo ?
dopo di essa. Se la condizione viene valutata come true
, si passa al blocco vero, ad esempio System.out.println("That's true");
. Se la condizione viene valutata come false
, si passa al blocco falso, dove potremmo avere qualcosa come System.out.println("That's not true");
.
Analizziamo un esempio più pratico:
Main.java
package com.example; public class Main { public static void main(String[] args) { System.out.println(10 > 5 ? "That's true" : "That's false"); System.out.println(5 > 6 ? "That's true" : "That's false"); } }
Avrai notato che abbiamo utilizzato l'operatore ternario all'interno dell'istruzione System.out.println();
. Questo è lo scopo principale dell'operatore ternario: può essere utilizzato all'interno delle istruzioni di output per ridurre significativamente la quantità di codice.
Possiamo anche utilizzare l'operatore ternario durante l'inizializzazione o la restituzione di valori. Imparerai di più sulla restituzione dei valori nella prossima sezione quando studierai i metodi.
Esempio di utilizzo dell'operatore ternario durante l'inizializzazione di un valore:
Main.java
package com.example; public class Main { public static void main(String[] args) { final int a = 10 > 2 ? 5 : 2; final int b = 10 < 2 ? 5 : 2; System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Di seguito è riportato un esempio di codice in cui l'operatore ternario viene sostituito con una normale istruzione if
per aiutarti a comprendere meglio il suo funzionamento:
Main.java
package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 0; if (10 > 2) { a = 5; } else { a = 2; } if (10 < 2) { b = 5; } else { b = 2; } System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
Il risultato è lo stesso, ma si può notare quanto spazio si risparmia utilizzando l'operatore ternario.
Swipe to start coding
-
Scrivere un codice che stampi
"The string contains Florida"
se la stringa contiene la parola Florida, oppure"Florida is not found"
se non la contiene. -
Utilizzare l'operatore ternario per esercitarsi con esso.
Soluzione
solution.java
Grazie per i tuoi commenti!