Menu
Coddy logo textTech

Expression When

Fait partie de la section Fondamentaux du Journey Kotlin de Coddy. Leçon 32 sur 93.

Lorsque vous devez vérifier plusieurs valeurs spécifiques, les longues chaînes d’instructions else if peuvent devenir difficiles à lire. Kotlin fournit l’expression when comme une alternative plus claire pour comparer une valeur à plusieurs possibilités.

fun main() {
    val day = 3
    
    val dayName = when (day) {
        1 -> "Monday"
        2 -> "Tuesday"
        3 -> "Wednesday"
        4 -> "Thursday"
        5 -> "Friday"
        else -> "Weekend"
    }
    
    println(dayName)  // Affiche : Wednesday
}

L’expression when prend une valeur et la compare à chaque branche. Lorsqu’une correspondance est trouvée, le résultat correspondant est renvoyé. La branche else gère toute valeur qui ne correspond pas aux cas indiqués.

Vous pouvez également faire correspondre plusieurs valeurs dans une même branche en les séparant par des virgules :

fun main() {
    val day = 6
    
    val type = when (day) {
        1, 2, 3, 4, 5 -> "Weekday"
        6, 7 -> "Weekend"
        else -> "Invalid"
    }
    
    println(type)  // Affiche : Weekend
}

Un when qui produit une valeur doit être exhaustif : chaque entrée possible doit avoir un résultat. Ces exemples avec des entiers nécessitent else, mais un when booléen avec les branches true et false n’en a pas besoin.

challenge icon

Défi

Facile

La variable suivante vous est fournie :

val month = 4

Utilisez une expression when pour déterminer la saison en fonction du numéro du mois et stockez le résultat dans une variable appelée season.

Conditions :

  • Les mois 12, 1, 2 doivent renvoyer "Winter"
  • Les mois 3, 4, 5 doivent renvoyer "Spring"
  • Les mois 6, 7, 8 doivent renvoyer "Summer"
  • Les mois 9, 10, 11 doivent renvoyer "Fall"
  • Toute autre valeur doit renvoyer "Invalid month"

Utilisez des valeurs séparées par des virgules dans vos branches when pour regrouper les mois qui appartiennent à la même saison.

Affichez la valeur de season.

Essayez vous-même

fun main() {
    val month = 4
    
    // TODO: Écrivez votre code ci-dessous
    // Utilisez une expression when pour déterminer la saison en fonction du mois
    // Stockez le résultat dans une variable appelée 'season'
    
    
    // Affichez le résultat
    println(season)
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Playground Kotlin