Espressione when
Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 32 di 93.
Quando hai più valori specifici da verificare, lunghe sequenze di istruzioni else if possono diventare difficili da leggere. Kotlin offre l'espressione when come alternativa più chiara per confrontare un valore con più possibilità.
fun main() {
val day = 3
val dayName = when (day) {
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
4 -> "Thursday"
5 -> "Friday"
else -> "Weekend"
}
println(dayName) // Stampa: Wednesday
}L’espressione when prende un valore e lo confronta con ciascun ramo. Quando trova una corrispondenza, restituisce il risultato corrispondente. Il ramo else gestisce qualsiasi valore che non corrisponda ai casi elencati.
Puoi anche associare più valori in un singolo ramo separandoli con virgole:
fun main() {
val day = 6
val type = when (day) {
1, 2, 3, 4, 5 -> "Weekday"
6, 7 -> "Weekend"
else -> "Invalid"
}
println(type) // Stampa: Weekend
}Un when che produce un valore deve essere esaustivo: ogni input possibile deve avere un risultato. Questi esempi con numeri interi richiedono else, ma un when booleano con entrambi i rami true e false non ne ha bisogno.
Sfida
FacileTi viene fornita la seguente variabile:
val month = 4Usa un'espressione when per determinare la stagione in base al numero del mese e memorizza il risultato in una variabile chiamata season.
Condizioni:
- I mesi
12,1,2devono restituire"Winter" - I mesi
3,4,5devono restituire"Spring" - I mesi
6,7,8devono restituire"Summer" - I mesi
9,10,11devono restituire"Fall" - Qualsiasi altro valore deve restituire
"Invalid month"
Usa valori separati da virgole nei rami when per raggruppare i mesi che appartengono alla stessa stagione.
Stampa il valore di season.
Provalo tu
fun main() {
val month = 4
// TODO: Scrivi il tuo codice qui sotto
// Usa un'espressione when per determinare la stagione in base al mese
// Memorizza il risultato in una variabile chiamata 'season'
// Stampa il risultato
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 moduloAssegnazione compostaOperatori di confrontoRipasso: matematica semplice7Input/output di base
Funzione printlnTemplate di stringheInput con readLineConversione di tipoRiepilogo - Anni alla pensioneRiepilogo - Vero o falso10Funzioni
Dichiarare una funzioneParametri e argomentiValori di ritornoArgomenti denominatiValori predefinitiFunzioni a espressione singolaRiepilogo - Funzione SigmaRiepilogo - Funzione di validazione2Variabili
Val vs VarInferenza del tipoNumeriStringaBooleanoConvenzioni di denominazioneRiepilogo - Inizializzare le variabili5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Operatori logici Parte 3Ternario con espressione ifRipasso - Logica semplice8Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati11FizzBuzz con un tocco
Panoramica del giocoLa funzione FizzBuzz3Nullabilità
Cos'è la null safetyTipi nullableOperatore di chiamata sicuraOperatore ElvisBasi della sfida sulle funzioniAsserzione non-nullRiepilogo - Accesso sicuro6Prendere decisioni
Istruzione ifIf-elseIf come espressioneEspressione whenwhen con intervalliRiepilogo - Calcolatrice semplice9Cicli
Ciclo forCiclo whileCiclo do-whilebreakcontinueIntervalli nei cicliCiclo annidatoRipasso - fattorialeRipasso - input dinamicoEsercitati da solo: Playground Kotlin