Kotlin continue (С примери)

В този урок ще се научите да използвате, за да пропуснете текущата итерация на цикъл. Освен това в тази статия ще научите за етикетите за продължаване.

Да предположим, че работите с цикли. Понякога е желателно да пропуснете текущата итерация на цикъла.

В такъв случай continueсе използва. В continueконструкцията пропуска ток итерация на заграждащи контур и контрол на програмата скача към края на тялото на цикъла.

Как продължава работата?

Почти винаги се използва с if … else конструкция. Например,

 while (testExpression1) (// кодове1 ако (testExpression2) (продължение) // кодове2)

Ако testExpression2 е оценен на true, continueсе изпълнява, който пропуска всички кодове вътре в whileцикъла след него за тази итерация.

Пример: Kotlin продължава

 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

Котлин с етикет продължава

Това, което сте научили досега, е немаркирана форма continue, която прескача текущата итерация на най-близкия затварящ цикъл. continueможе да се използва и за пропускане на итерацията на желания цикъл (може да бъде външен цикъл) чрез използване на continueетикети.

Как е етикетирано продължава да работи?

Етикетът в Kotlin започва с идентификатор, който е последван от @.

Тук 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") ) ) )

Когато стартирате програмата, изходът ще бъде:

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

Използването на етикети continueчесто се обезкуражава, тъй като прави кода ви труден за разбиране. Ако сте в ситуация, в която трябва да използвате етикети continue, рефакторирайте кода си и се опитайте да го разрешите по различен начин, за да го направите по-четлив.

Има 3 структурни скок изрази в Kotlin: break, continueи return. За да научите за breakи returnизразяване, посетете:

  • Котлин почивка
  • Функция Kotlin

Интересни статии...