Kotlin : if-else Expression
En Kotlin, if est une expression qui renvoie une valeur. Elle est utilisée pour contrôler le flux de la structure du programme. Il existe plusieurs types d'expression if en Kotlin : expression if-else, expression en échelle if-else if-else, expression if imbriquée, instruction if traditionnelle.
![Kotlin if else](/medias/images/kotlin-if-else.png)
Syntaxe de l'instruction if traditionnelle
if(condition){
//code de l'instruction
}
Syntaxe de l'instruction traditionnelle if else
if(condition){
//code de l'instruction
}
else{
//code de l'instruction
}
Expression if-else de Kotlin
Comme if est une expression, elle n'est pas utilisée seule, elle est utilisée avec l'expression if-else et le résultat d'une expression if-else est assigné dans une variable.
Syntaxe de l'expression if-else
val returnValue = if (condation) {
//code statement
} else {
// instruction de code
}
println(returnValue)
Exemple d'expression if-else en Kotlin
Voyons un exemple d'expression if-else.
fun main(args : Array<String>) {
val num1 = 10
val num2 =20
val result = if (num1 > num2) {
"$num1 est supérieur à $num2"
} else {
"$num1 est inférieur à $num2"
}
println(résultat)
}
Sortie :
10 est plus petit que 20
Nous pouvons supprimer les accolades du corps if-else en écrivant l'expression if dans une seule instruction.
fun main(args : Array<String>) {
val num1 = 10
val num2 =20
val result = if (num1 > num2) "$num1 est supérieur à $num2" else "$num1 est inférieur à $num2"
println(résultat)
}
L'utilisation d'une expression if-else dans une seule ligne d'instruction est comparable à l'opérateur ternaire en Java. Kotlin ne supporte pas d'opérateur ternaire.
Expression Kotlin if-else if-else en échelle
Voyons un exemple d'expression en échelle if-else if-else.
fun main(args : Array<String>) {
val num = 10
val result = if (num > 0){
"$num est positif"
}else if(num < 0){
"$num est négatif"
}else{
"$num est égal à zéro"
}
println(résultat)
}
Sortie :
10 est positif
Expression if imbriquée en Kotlin
Voyons un exemple d'expression if imbriquée.
fun main() {
println("PandaCodeur : Cours Kotlin\n")
val num1 = 25
val num2 = 20
val num3 = 30
val result = if (num1 > num2){
val max = if(num1 > num3){
num1
}else{
num3
}
"corps du if "+max
}else if(num2 > num3){
"corps du else if "+num2
}else{
"corps de else "+num3
}
println("$result")
println("\nPandaCodeur.com")
}
![Kotlin code online 10](/medias/images/kotlin-code-online-10.png)
Sortie :
![Kotlin code online 11](/medias/images/kotlin-code-online-11.png)