Kotlin : when Expression

La construction when de Kotlin peut être considérée comme un remplacement de la déclaration switch de Java. Elle évalue une section de code parmi plusieurs alternatives. L'expression when de Kotlin fonctionne comme une instruction switch d'un autre langage (Java, C++, C).


Utilisation de when comme expression
Voyons un exemple simple de l'expression when.
fun main() {
    println("PandaCodeur : Cours Kotlin\n")
     var nombre = 4
    var nombreFourni = when(nombre) {
        1 -> "One"    // (un)
        2 -> "two" //(deux)
        3 -> "Three" //(Trois)
        4 -> "Four" //(Quatre)
        5 -> "Five" //(cinq)
        else -> "nombre invalide"
    }
    println("Vous avez fourni $nombreFourni")
    println("\nPandaCodeur.com")
}

Kotlin code online 13
Sortie :
Kotlin code online 12

Utilisation de when sans expression
Il n'est pas obligatoire d'utiliser when comme une expression, il peut être utilisé aussi normalement qu'il est utilisé dans d'autres langues.
fun main(args : Array<String>){
    var nombre = 4
    when(nombre) {
        1 -> println("Un")
        2 -> println("Deux")
        3 -> println("Trois")
        4 -> println("Four")
        5 -> println("Five")
        else -> println("invalid number")
    }
}

Sortie :
Four


Déclaration multiple à l'aide d'accolades
Nous pouvons utiliser plusieurs instructions dans un bloc de conditions.
fun main(args : Array<String>){
    var nombre = 1
    when(nombre) {
        1 -> {
            println("Lundi")
            println("Premier jour de la semaine")
        }
        7 -> println("Dimanche")
        else -> println("Autres jours")
    }
}

Sortie :
Lundi
Premier jour de la semaine


Branchements multiples de conditions
Nous pouvons utiliser plusieurs branches de condition séparées par une virgule. On l'utilise quand on a besoin d'exécuter une même logique pour plusieurs choix.
fun main(args : Array<String>){
    var nombre = 8
    when(nombre) {
        3, 4, 5, 6 ->
            println("C'est la saison d'été")
        7, 8, 9 ->
            println("C'est la saison des pluies")
        10, 11 ->
            println("C'est la saison de l'automne")
        12, 1, 2 ->
            println("C'est la saison de l'hiver")
        else -> println("entrée invalide")
    }
}

Sortie :
C'est la saison des pluies

Utilisation de when dans la plage
L'expression when vérifie également les plages d'entrée fournies dans la condition when. Une plage est créée en utilisant l'opérateur .. (double point). L'opérateur in est utilisé pour vérifier si une valeur appartient à une plage.
Kotlin code online 14

Sortie :

Aucune note. Soyez le premier à attribuer une note !