Commutatore Java
Dichiarazioni di Java Switch
Utilizzare l' switch
istruzione per selezionare uno dei tanti blocchi di codice da eseguire.
Sintassi
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
È così che funziona:
- L'
switch
espressione viene valutata una volta. - Il valore dell'espressione viene confrontato con i valori di ciascuno
case
. - Se c'è una corrispondenza, viene eseguito il blocco di codice associato.
- Le parole chiave
break
edefault
sono opzionali e verranno descritte più avanti in questo capitolo
L'esempio seguente utilizza il numero del giorno della settimana per calcolare il nome del giorno della settimana:
Esempio
int day = 4;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
}
// Outputs "Thursday" (day 4)
La parola chiave di rottura
Quando Java raggiunge una break
parola chiave, esce dal blocco switch.
Ciò interromperà l'esecuzione di più codice e test dei casi all'interno del blocco.
Quando viene trovata una corrispondenza e il lavoro è terminato, è tempo di una pausa. Non c'è bisogno di ulteriori test.
Un'interruzione può far risparmiare molto tempo di esecuzione perché "ignora" l'esecuzione di tutto il resto del codice nel blocco switch.
La parola chiave predefinita
La default
parola chiave specifica del codice da eseguire se non c'è corrispondenza tra maiuscole e minuscole:
Esempio
int day = 4;
switch (day) {
case 6:
System.out.println("Today is Saturday");
break;
case 7:
System.out.println("Today is Sunday");
break;
default:
System.out.println("Looking forward to the Weekend");
}
// Outputs "Looking forward to the Weekend"
Si noti che se l' default
istruzione viene utilizzata come ultima istruzione in un blocco switch, non è necessaria un'interruzione.