Contenuti del Corso
Java Avanzato
Java Avanzato
Istruzione Switch Avanzata
Come ottimizzare un'istruzione Switch?
Così come l'istruzione if
dispone dell'operatore ternario, l'istruzione switch
presenta una versione avanzata chiamata enhanced switch.
Vediamo subito la sintassi:
Main.java
switch (variable) { case value1 -> { // code block } case value2 -> { // code block } // additional cases default -> { // code block } }
L'enhanced switch statement utilizza una sintassi semplificata con ->
invece di case
e break
. Permette di scrivere blocchi di codice concisi per ciascun caso direttamente, senza la necessità di dichiarare esplicitamente le istruzioni break
.
Vediamo un esempio di utilizzo di un'istruzione switch. Prima, analizziamo una switch statement classica:
Main.java
package com.example; public class Main { public static void main(String[] args) { int a = 10; switch (a) { case 5: System.out.println("five"); break; case 0: System.out.println("zero"); break; case 10: System.out.println("ten"); break; default: System.out.println("no value"); break; } } }
Ora sostituiamolo con la versione avanzata per vedere la differenza:
Main.java
package com.example; public class Main { public static void main(String[] args) { int a = 10; switch (a) { case 5 -> { System.out.println("five"); } case 0 -> { System.out.println("zero"); } case 10 -> { System.out.println("ten"); } default -> { System.out.println("no value"); } } } }
Come puoi vedere, la sintassi è cambiata e il codice è diventato più breve. Inoltre, non è più necessario scrivere esplicitamente la parola chiave break
; ora il compilatore comprende che deve interrompere l'esecuzione dell'istruzione switch
dopo aver trovato una corrispondenza con uno dei casi.
In questo modo, è possibile semplificare l'istruzione switch
e scrivere codice professionale.
1. Qual è la sintassi del case nell'istruzione Switch
avanzata?
2. È necessario utilizzare la parola chiave break;
con lo switch avanzato?
Grazie per i tuoi commenti!