English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Kotlin

Контроль потока в Kotlin

Функции в Kotlin

Строки в Kotlin

面向对象(OOP) в Kotlin

Выражение if в Kotlin

В этой статье вы узнаете, как использовать выражение if в Kotlin с помощью примеров.

Традиционное использование if ... else

Синтаксис if ... else:

if (testExpression) {
   //Если testExpression равен true, то выполняется код
}
else {
  //Если testExpression равен false, то выполняется код
}

Если результат вычисления testExpression равен true, то выполняется определенная часть кода inside if. Может быть опциональной веткой else. Если testExpression false, то выполняется код в ветке else.

Пример: традиционное использование if ... else

fun main(args: Array<String>) {
    val number = -10
    if (number > 0) {
        print("Положительное число")
    } else {
        print("Отрицательное число")
    }
}

При выполнении программы выводится:

Отрицательное число

Выражение if в Kotlin

В отличие от Java (и других множества языков программирования), if в Kotlin может использоваться как выражение; оно возвращает значение.Рекомендуется к прочтению: Выражение Kotlin

Вот пример:

Пример: выражение Kotin if

fun main(args: Array<String>) {
    val number = -10
    val result = if (number > 0) {
        "Положительное число"
    } else {
        "Отрицательное число"
    }
    println(result)
}

При выполнении программы выводится:

Отрицательное число

Если использовать if в качестве выражения, то ветвь else обязательна.

Если в блоке if только одна строка, то фигурные скобки являются необязательными. Например:

fun main(args: Array<String>) {
    val number = -10
    val result = if (number > 0) "Положительное число" else "Отрицательное число"
    println(result)
}

Это подобноТриальный оператор в JavaТаким образом, в Kotlin нет三元 оператора.

Пример: блок if содержит несколько выражений

Если блок分支机构 if содержит несколько выражений, то последнее выражение возвращает значение этого блока.

fun main(args: Array<String>) {
    val a = -9
    val b = -11
    val max = if (a > b) {
        println("$a больше $b.")
        println("Переменная max сохраняет значение a.")
        a
    } else {
        println("$b больше $a.")
        println("Переменная max сохраняет значение b.")
        b
    }
    println("max = $max")
}

При выполнении программы выводится:

-9 больше -11.
Переменная max сохраняет значение a.
max = -9

Кotlin if..else..if阶梯

Вы можете использовать阶梯 if..else...if в множестве блоков Kotlin, чтобы вернуть кодовый блок.

Например: if ... else ... if阶梯

fun main(args: Array<String>) {
    val number = 0
    val result = if (number > 0)
        "Положительное число"
    else if (number < 0)
        "Отрицательное число"
    else 
        "Ноль"
    
    println("Число равно $result")
}

Эта программа проверяет, является ли number положительным, отрицательным или нулевым.

Вложенные выражения if в Kotlin

Если выражение if может быть расположено в блоке другого выражения if, то это называется вложенным выражением if.

Пример: Наползание выражений if

Эта программа вычисляет наибольшее из трех чисел.

fun main(args: Array<String>) {
    val n1 = 3
    val n2 = 5
    val n3 = -2
    val max = if (n1 > n2) {
        if (n1 > n3)
            n1
        else
            n3
    } else {
        if (n2 > n3)
            n2
        else
            n3
    }
    println("max = $max")
}

При выполнении программы выводится:

max = 5