Menu
Coddy logo textTech

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.

challenge icon

Sfida

Facile

Ti viene fornita la seguente variabile:

val month = 4

Usa 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, 2 devono restituire "Winter"
  • I mesi 3, 4, 5 devono restituire "Spring"
  • I mesi 6, 7, 8 devono restituire "Summer"
  • I mesi 9, 10, 11 devono 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)
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Kotlin