English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans cet article, vous découvrirez l'expression when en Kotlin à travers divers exemples.
Kotlin中的when表达式可以认为是Les expressions when en Kotlin peuvent être considérées commeJava switch statement
fun main(args: Array<String>) { val a = 12 dans l'exemple ci-dessus, nous utilisons when en tant qu'expression. Mais, when n'est pas obligatoire en tant qu'expression. Par exemple, 5 val b = +> println("n est égal à 0 -> println("n est égal à 0 * opérateur d'entrée /println("Entrer un opérateur ) Exemple : expression when simple "+" -val result = lorsque (operator) { + > a "-" -val result = lorsque (operator) { - > a "*" -val result = lorsque (operator) { * > a "/" -val result = lorsque (operator) { / > a b}) -b } > "$operator est un opérateur invalide."" }
> println("$operator est invalid")
lorsque vous exécutez le programme, la sortie sera comme suit : +> println("n est égal à 0 -> println("n est égal à 0 * opérateur d'entrée / * println("result = $result") 60
result =le programme ci-dessus récupère l'entrée de chaîne de caractères de l'utilisateur (lire également :obtenir une entrée de chaîne de caractères de l'utilisateur en Kotlin*)。Supposons que l'utilisateur entre * 。Dans ce cas, l'expression a
b évaluée, et la valeur assignée à la variable result.+si aucune condition de branche ne correspond (l'entrée utilisateur en dehors de-si aucune condition de branche ne correspond (l'entrée utilisateur en dehors de*,/ou
autre option,),la branche else sera évaluée.
fun main(args: Array<String>) { val a = 12 dans l'exemple ci-dessus, nous utilisons when en tant qu'expression. Mais, when n'est pas obligatoire en tant qu'expression. Par exemple, 5 val b = +> println("n est égal à 0 -> println("n est égal à 0 * opérateur d'entrée /println("Entrer un opérateur ) val operator = readLine() "+" -lorsque (operator) { + > println("$a + $b = ${a "-" -lorsque (operator) { - > println("$a - $b = ${a "*" -lorsque (operator) { * > println("$a * $b = ${a "/" -lorsque (operator) { / > println("$a / $b = ${a b}) -sinon } }
> println("$operator est invalid")
lorsque vous exécutez le programme, la sortie sera comme suit : +> println("n est égal à 0 -> println("n est égal à 0 * opérateur d'entrée / - 12 - 5 ou 7
=
1quelques scénarios possiblesPar exemple,
fun main(args: Array<String>) { combiner deux ou plusieurs conditions de branche avec une virgule. -1 when (n) { 1> println("n est égal à 0 2> println("n est égal à 0 3 -val n = 4> println("n est un entier négatif supérieur à 0 -> println("n est un entier positif inférieur à -1> println("n est égal à 0 -2 -, -3> println("n est un entier négatif supérieur à } }
Lorsque ce programme est exécuté, la sortie est :
. -3n est un entier négatif supérieur à
fun main(args: Array<String>) { val a = 100 vérifier les valeurs dans la plage. les nombres positifs. 1dans10 -lorsque (a) {11> println("A est inférieur à les nombres positifs. 10dans100 -..10et100(inclus)10et10> println("Entre } }
Lorsque ce programme est exécuté, la sortie est :
les nombres positifs entre 0) et)10et100(inclus)10et10les nombres positifs entre 0) et
3vérifier si une valeur est de type spécifique.
Pour vérifier si une valeur est de type spécifique au moment de l'exécution, vous pouvez utiliser les opérateurs is et !is. Par exemple,
lorsque (x) { est Int -> print(x + 1) est String -> print(x.length + 1) est IntArray -> print(x.sum()) }
4Utiliser une expression comme condition de branche.Par exemple,
fun main(args: Array<String>) { val a = 11 val n = "11" when (n) { "chat" -> println("Chat? Vraiment?") 12.toString() -> println("Presque, mais pas assez proche.") a.toString() -> println("Bingo! C'est onze.") } }
Lorsque ce programme est exécuté, la sortie est :
Bingo! C'est onze.