В этом руководстве вы научитесь использовать continue, чтобы пропустить текущую итерацию цикла. Кроме того, в этой статье вы также узнаете о ярлыках продолжения.
Предположим, вы работаете с петлями. Иногда желательно пропустить текущую итерацию цикла.
В таком случае continue
используется. Эта continue
конструкция пропускает текущую итерацию охватывающего цикла, и управление программой переходит к концу тела цикла.
Как продолжить работает?
Он почти всегда используется с конструкцией if… else. Например,
while (testExpression1) (// коды1 if (testExpression2) (продолжить) // коды2)
Если вычисляется testExpression2 true
, continue
выполняется, который пропускает все коды внутри while
цикла после него для этой итерации.
Пример: Котлин продолжить
fun main(args: Array) ( for (i in 1… 5) ( println("$i Always printed.") if (i> 1 && i < 5) ( continue ) println("$i Not always printed.") ) )
Когда вы запустите программу, вывод будет:
1 Всегда печатается. 1 Не всегда печатается. 2 Всегда печатается. 3 Всегда печатается. 4 Всегда печатается. 5 Всегда печатается. 5 Не всегда печатается.
Когда значение i больше 1 и меньше 5, continue
выполняется, что пропускает выполнение
println ("$ i Не всегда печатается.")
заявление.
Однако заявление
println ("Всегда печатать $ i.")
выполняется на каждой итерации цикла, потому что этот оператор существует до continue
конструкции.
Пример: вычисление суммы только положительных чисел
Программа ниже вычисляет сумму максимум 6 положительных чисел, введенных пользователем. Если пользователь вводит отрицательное число или ноль, оно пропускается из расчета.
Посетите Kotlin Basic Input Output, чтобы узнать больше о том, как принимать данные от пользователя.
fun main(args: Array) ( var number: Int var sum = 0 for (i in 1… 6) ( print("Enter an integer: ") number = readLine()!!.toInt() if (number <= 0) continue sum += number ) println("sum = $sum") )
Когда вы запустите программу, вывод будет:
Введите целое число: 4 Введите целое число: 5 Введите целое число: -50 Введите целое число: 10 Введите целое число: 0 Введите целое число: 12 сумма = 31
Kotlin Labeled продолжить
То, что вы узнали до сих пор, это немаркированная форма continue
, которая пропускает текущую итерацию ближайшего охватывающего цикла. continue
также можно использовать для пропуска итерации желаемого цикла (может быть внешним циклом) с помощью continue
меток.
Как работает продолжение?
Ярлык в Котлине начинается с идентификатора, за которым следует @
.
Здесь externalloop @ - это метка, отмеченная во внешнем цикле while. Теперь, используя continue
с меткой ( continue@outerloop
в данном случае), вы можете пропустить выполнение кодов конкретного цикла для этой итерации.
Пример: помечено как продолжение
fun main(args: Array) ( here@ for (i in 1… 5) ( for (j in 1… 4) ( if (i == 3 || j == 2) continue@here println("i = $i; j = $j") ) ) )
Когда вы запустите программу, вывод будет:
я = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1
Использование меток с метками continue
часто не рекомендуется, так как это затрудняет понимание вашего кода. Если вы оказались в ситуации, когда вам нужно использовать метки continue
, реорганизуйте свой код и попробуйте решить его другим способом, чтобы сделать его более читабельным.
Есть 3 структурные выражения скачка в Котлин: break
, continue
и return
. Чтобы узнать об этом break
и return
выразить свое мнение, посетите:
- Котлин перерыв
- Функция Котлина