Условное выражение if else в Kotlin

В 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

Оцените статью