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.
Défi
FacileLa variable suivante vous est fournie :
val month = 4Utilisez 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,2doivent renvoyer"Winter" - Les mois
3,4,5doivent renvoyer"Spring" - Les mois
6,7,8doivent renvoyer"Summer" - Les mois
9,10,11doivent 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)
}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
4Opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloAffectation augmentéeOpérateurs de comparaisonRécapitulatif - Mathématiques simples7E/S de base
Fonction PrintlnModèles de chaînesEntrée ReadLineConversion de typeRécapitulatif - Années avant la retraiteRécapitulatif - Vrai ou faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourArguments nommésValeurs par défautFonctions à expression uniqueRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validation2Variables
Val ou VarInférence de typeNombresChaîne de caractèresBooléenConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Opérateurs logiques, partie 3Ternaire avec une expression ifRécapitulatif - Logique simple8Calculateur de partage d’addition
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Aperçu du jeuLa fonction FizzBuzz3Nullabilité
Qu’est-ce que la sécurité vis-à-vis de nullTypes nullableOpérateur d’appel sécuriséOpérateur ElvisBases des défis de fonctionsAssertion de non-nullitéRécapitulatif - Accès sécurisé6Prise de décision
Instruction IfIf - ElseIf comme expressionExpression WhenWhen avec des plagesRécapitulatif - Calculatrice simple9Boucles
Boucle ForBoucle WhileBoucle Do-WhileBreakContinuePlages dans les bouclesBoucle imbriquéeRécapitulatif - FactorielleRécapitulatif - Entrée dynamiqueEntraînez-vous par vous-même : Playground Kotlin