Istruzione switch
Fa parte della sezione Fondamenti del percorso Java di Coddy. Lezione 29 di 73.
L'istruzione switch è simile a un'istruzione if a più vie. Invece di valutare una singola condizione, confronta il valore di una variabile con più casi ed esegue il codice associato al caso corrispondente.
Ecco la struttura di base di un'istruzione switch:
switch (variable) {
case value1:
// Codice da eseguire se variable è uguale a value1
break;
case value2:
// Codice da eseguire se variable è uguale a value2
break;
// ... altri casi
default:
// Codice da eseguire se nessun caso corrisponde
}- La parola chiave
switchè seguita dalla variabile che vuoi verificare, tra parentesi. - Ogni
caserappresenta un possibile valore della variabile. - Il codice all'interno di ogni
caseviene eseguito se la variabile corrisponde al valore di quel caso.
- L'istruzione
breakè fondamentale: esce daswitchdopo che un caso è stato eseguito. Senza di essa, l'esecuzione continuerebbe nel caso successivo. - Il caso
defaultè facoltativo e viene eseguito se nessun altro caso corrisponde.
Ecco un esempio:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... casi per gli altri giorni
default:
dayName = "Invalid day";
}Puoi anche combinare più casi in uno:
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... casi per gli altri giorni
default:
dayName = "Invalid day";
}Sfida
PrincipianteCrea un programma che accetta un numero di mese (1 per gennaio, 2 per febbraio, ecc.) e stampa la stagione a cui appartiene. Usa un'istruzione switch per la logica.
Le stagioni e i mesi corrispondenti sono:
Winter: dicembre (12), gennaio (1), febbraio (2)Spring: marzo (3), aprile (4), maggio (5)Summer: giugno (6), luglio (7), agosto (8)Autumn: settembre (9), ottobre (10), novembre (11)
Per qualsiasi altro numero di mese, stampa "Invalid month".
Provalo tu
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
String season = "";
// Scrivi il tuo codice qui sotto
System.out.println(season);
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori - Parte 1
Operatori aritmeticiOperatore moduloIncremento/decrementoIncremento/decremento postfissoAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7I/O di base
Metodi di System.outFormattare l'outputClasse ScannerRipasso - Fino a 120Ripasso - Vero o falso10Metodi (Funzioni)
Dichiarare i metodiParametri dei metodiTipi di ritornoSovraccarico dei metodiRipasso - Funzione SigmaRipasso - Funzione di validazioneMetodi void13Operazioni sulle stringhe
Metodi delle stringhe Parte 1Metodi delle stringhe Parte 2Formattazione delle stringheConfronto tra stringhe5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 43Variabili Parte 2
CostantiConvenzioni di denominazioneRipasso - Inizializzare le variabiliConversione dei tipi Parte 1Conversione dei tipi Parte 26Decisioni
Istruzione ifIf - ElseIstruzione switchOperatore ternarioRiepilogo - If ElseIf - Else annidatiEsercitati da solo: Compilatore Java online