English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как использовать continue для пропуска текущей итерации цикла. Кроме того, вы также узнаете о теге continue.
Предположим, что вы используете цикл. В некоторых случаях может потребоваться пропустить текущую итерацию цикла.
В этом случае используется continue. Конструкция continue пропускает текущую итерацию封闭ого цикла, и управление программой переходит к концу тела цикла.
Это почти всегда связано сif ... else Конструировать вместе. Например,
while (testExpression1) { // codes1 if (testExpression2) { continue {} // codes2 {}
Если значение testExpression2 оценено как true, то выполняется команда continue, что позволяет пропустить все коды в цикле while.
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 без метки, который пропускает текущую итерацию ближайшего заключенного цикла. continue также можно использовать для пропуска итераций необходимого цикла (будь то внешний цикл).
Метки в Kotlin указываются сИдентификаторв начале, за которым следует @.
Здесь, outerloop@ находитсяwhile-циклВнешние метки. Теперь, используя метку continue (continue@outerloop), вы можете пропустить выполнение определенного цикла кода в текущей итерации цикла.
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.