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

Kotlin基础教程

Kotlin流程控制

Функции в Kotlin

Строки в Kotlin

Kotlin面向对象(OOP)

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

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

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

В этом случае используется continue. Конструкция continue пропускает текущую итерацию封闭ого цикла, и управление программой переходит к концу тела цикла.

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

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

while (testExpression1) {
    // codes1
    if (testExpression2) {
        continue
    {}
    // codes2
{}

Если значение testExpression2 оценено как true, то выполняется команда continue, что позволяет пропустить все коды в цикле while.

示例:Kotlin continue

fun main(args: Array<String>) {
    for (i in 1..5) {
        println("$i Always printed.")
        if (i > 1 && i < 5) {
            continue
        {}
        println("$i Not always printed.")
    {}
{}

При запуске программы выводится:

1 Always printed.
1 Not always printed.
2 Always printed.
3 Always printed.
4 Always printed.
5 Always printed.
5 Not always printed.

Когда значение i больше 1 и меньше 5, continue продолжит выполняться, тем самым пропуская выполнение

println("$i Not always printed.")

Декларация.

Но,声明:

println("$i Always printed.")

Выполняется в каждом цикле итерации, так как это предложение существует до continue.

Пример: Вычисление суммы только положительных чисел

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

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

fun main(args: Array<String>) {
    var number: Int
    var sum = 0
    for (i in 1..6) {
        print("Введите целое число: ")
        number = readLine()!!.toInt()
        if (number <= 0)
            continue
        
        sum += number
    {}
    println("sum = $sum")
{}

При запуске программы выводится:

Введите целое число: 4
Введите целое число: 5
Введите целое число: -50
Введите целое число: 10
Введите целое число: 0
Введите целое число: 12
sum = 31

Метка continue в Kotlin

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

Как работает метка continue?

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

Здесь, outerloop@ находитсяwhile-циклВнешние метки. Теперь, используя метку continue (continue@outerloop), вы можете пропустить выполнение определенного цикла кода в текущей итерации цикла.

Пример: continue @ метка

fun main(args: Array<String>) {
    here@ for (i in 1..5) {
        for (j in 1..4) {
            if (i == 3 || j == 2)
                continue@here
            println("i = $i; j = $j")
        {}
    {}
{}

При запуске программы выводится:

i = 1; j = 1
i = 2; j = 1
i = 4; j = 1
i = 5; j = 1

Не рекомендуется использовать continue с меткой, так как это может затруднить понимание вашего кода. Если вам необходимо использовать метку continue,重构代码 и попробуйте решить проблему другим способом, чтобы сделать его более читаемым.

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