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

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

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

Функции в Kotlin

Строки в Kotlin

Kotlin面向对象(OOP)

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

В этом руководстве вы узнаете, как использовать break для завершения цикла. Кроме того, вы также узнаете о теге break.

Предположим, что вы используете цикл. В некоторых случаях вы хотите немедленно завершить цикл, не проверяя тестовое выражение.

В этом случае можно использовать break. При встрече с break он завершает ближайший замкнутый цикл (без проверки тестового выражения). Это подобноКак работает оператор break в Java.

Как работает break?

Это почти всегда используется сИспользование if..else вместеНапример,

for (...) {
    if (testExpression) {
        break
    }
}

Если выражение if testExpression оценено как true, то execute break завершает цикл for.

Пример: Kotlin break

fun main(args: Array<String>) {
    for (i in 1..10) {
        if (i == 5) {}}
            break
        }
        println(i)
    }
}

При выполнении этого программы, вывод будет:

1
2
3
4

Когда значение i равно 5, выражение i == 5 вычисляется как true, затем выполняется break. Это завершитЦикл for.

Пример: расчет суммы до ввода 0

Ниже приведена программа, которая calculates общая сумма введенных пользователем чисел до тех пор, пока пользователь не введет 0.

ДоступОсновные ВВЕД и ВЫВОД в Kotlinчтобы узнать больше о том, как получить ввод от пользователя.

fun main(args: Array<String>) {
    var sum = 0
    var number: Int
    while (true) {
        print("Введи цифру: ")
        number = readLine()!!.toInt()
        if (number == 0)
            break
        sum += number
    }
    print("sum = $sum")
}

При выполнении этого программы, вывод будет:

Введи цифру: 4
Введи цифру: 12
Введи цифру: 6
Введи цифру: -9
Введи цифру: 0
sum = 13

В aforementioned программе тестовое выражение while-цикла всегда равно true.

Здесь while-цикл выполняется до тех пор, пока пользователь не введет 0. При вводе 0 выполняется break, что завершает while-цикл.

Теги break в Kotlin

До сих пор вы изучили break без тега, который завершает ближайший заключенный цикл. Break может использовать другой способ (с тегом) для завершения необходимого цикла (может быть внешним циклом).

Как работает break с тегом?

Теги в Kotlin начинаются сИдентификаторначало, за которым следует @.

Здесь test@ находится внеwhile-циклПомеченные теги. Теперь, используя помеченный break (в данном случае break @test), можно прервать определенный цикл.

Вот пример:

fun main(args: Array<String>) {
    first@ for (i in 1..4) {
        second@ for (j in 1..2) {
            println("i = $i; j = $j")
            if (i == 2)
                break@first
        }
    }
}

При выполнении этого программы, вывод будет:

i = 1; j = 1
i = 1; j = 2
i = 2; j = 1

Здесь, когда результат вычисления выражения i == 2 равен true, выполняется break@first для завершения цикла, помеченного тегом first@.

Это 一些上述程序的变体。

В следующей программе break завершает цикл, помеченный тегом @second.

fun main(args: Array<String>) {
    first@ for (i in 1..4) {
        second@ for (j in 1..2) {
            println("i = $i; j = $j")
            if (i == 2)
                break@second
        }
    }
}

При выполнении этого программы, вывод будет:

i = 1; j = 1
i = 1; j = 2
i = 2; j = 1
i = 3; j = 1
i = 3; j = 2
i = 4; j = 1
i = 4; j = 2

Внимание:Поскольку break используется в программе для终止 наиболее внутреннего цикла, в этом случае не нужно использовать помеченный break.

В Kotlin есть 3 типа структурных прыжков выражений: break, continue и return.