В Kotlin выражение if возвращает значение. Оно используется для управления потоком структуры программы. В Котлине есть различные типы выражений if.
- if-else выражение
- if-else if-else лестничное выражение
- вложенное выражение if
Традиционный оператор if
Синтаксис традиционного оператора if:
if(condation){
//code statement
}
Синтаксис традиционного оператора if else:
if(condation){
//code statement
}
else{
//code statement
}
Kotlin выражение if-else
Как if выражение, оно не используется отдельно, а используется с выражением if-else и результат выражения if-else присваивается переменной.
Синтаксис выражения if-else:
val returnValue = if(condation) {
//code statement
} else {
// code statement
}
println(returnValue)
Kotlin Пример выражения if-else:
fun main(args: Array) {
val num1 = 10
val num2 =20
val result = if(num1 > num2) {
"$num1 is greater than $num2"
} else {
"$num1 is smaller than $num2"
}
println(result)
}
Выход:
10 is smaller than 20
Мы можем удалить фигурные скобки тела if-else, написав выражение if только в одном операторе.
Например:
fun main(args: Array) {
val num1 = 10
val num2 =20
val result = if(num1 > num2) "$num1 is greater than $num2" else "$num1 is smaller than $num2"
println(result)
}
Использование выражения if-else в однострочном операторе похоже на тернарный оператор в Java. Kotlin не поддерживает никаких тернарных операторов.
Kotlin if-else if-else лестничное выражение
Давайте посмотрим на пример лестничного выражения if-else if-else.
fun main(args: Array) {
val num = 10
val result = if(num > 0){
"$num is positive"
}else if(num < 0){
"$num is negative"
}else{
"$num is zero"
}
println(result)
}
Выход:
10 is positive
Вложенное выражение if
Давайте посмотрим на пример вложенного выражения if.
fun main(args: Array) {
val num1 = 25
val num2 = 20
val num3 = 30
val result = if(num1 > num2){
val max = if(num1 > num3){
num1
}else{
num3
}
"body of if "+max
}else if(num2 > num3){
"body of else if"+num2
}else{
"body of else "+num3
}
println("$result")
}
Выход:
body of if 30
