Come un'istruzione if/else, un'istruzione switch ti permette di cambiare il flusso del programma eseguendo del codice in modo condizionale.
La differenza è che un'istruzione switch può confrontare il valore di un'espressione primitiva o di una stringa solo con valori costanti predefiniti.
Alcune parole chiave sono utili quando si usa un'istruzione switch.
switch: questa parola chiave ti permette di dichiarare la struttura dello switch.
È seguita dall'espressione o dalla variabile che cambierà il risultato.case: userai questa parola chiave per dichiarare le diverse possibilità per il risultato.break: la parola chiave break è molto utile per interrompere l'esecuzione dello switch alla fine del flusso desiderato.
Se la dimentichi, il programma continuerà e potrà portare a risultati inaspettati.default: come dice il nome, usala come risultato predefinito quando nessun altro case corrisponde al risultato della tua espressione.Nella loro forma più semplice, verificano un'espressione primitiva o una stringa e prendono una decisione in base al suo valore. Per esempio:
String direction = getDirection();
switch (direction) {
case "left":
goLeft();
break;
case "right":
goRight();
break;
default:
// otherwise
markTime();
break;
}
Stai sviluppando un sistema per aiutare lo staff del sito web di un club di calcio a redigere i resoconti delle partite. I dati vengono ricevuti da varie fonti e convogliati in un unico flusso dopo essere stati ripuliti.
La squadra gioca sempre e solo con il modulo 4-3-3 e non ha mai accettato la modifica del 1965 alle regole che consente le sostituzioni, figuriamoci le rose allargate.
Le descrizioni dei giocatori sono le seguenti:
1 -> "goalie"
2 -> "left back"
3 & 4 "center back"
5 -> "right back"
6, 7, & 8 -> "midfielder"
9 -> "left wing"
10 -> "striker"
11 -> "right wing"
Implementa il metodo statico FootballMatchReports.onField() per restituire la descrizione di un giocatore in base al suo numero di maglia.
FootballMatchReports.onField(10);
// => "striker"
Modifica il metodo FootballMatchReports.onField() in modo che restituisca 'invalid' quando viene elaborato un numero di maglia fuori dall'intervallo 1-11.
FootballMatchReports.onField(13);
// => "invalid"
Iscriviti a Exercism per imparare e padroneggiare Java con 26 concetti158 esercizi e il mentoring di persone reali, tutto gratis.