Kotlin break (с примерами)

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

Предположим, вы работаете с петлями. Иногда желательно немедленно завершить цикл, не проверяя тестовое выражение.

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

Как работает перерыв?

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

 for (…) (if (testExpression) (break))

Если значение testExpression равно true, breakвыполняется, что завершает forцикл.

Пример: Kotlin break

 fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )

Когда вы запустите программу, вывод будет:

 1 2 3 4 

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

Пример: вычислить сумму, пока пользователь не введет 0

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

Посетите Kotlin Basic Input Output, чтобы узнать больше о том, как принимать данные от пользователя.

 fun main(args: Array) ( var sum = 0 var number: Int while (true) ( print("Enter a number: ") number = readLine()!!.toInt() if (number == 0) break sum += number ) print("sum = $sum") )

Когда вы запустите программу, вывод будет:

 Введите число: 4 Введите число: 12 Введите число: 6 Введите число: -9 Введите число: 0 сумма = 13

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

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

Котлин Маркированный перерыв

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

Как работает маркированный перерыв?

Ярлык в Котлине начинается с идентификатора, за которым следует @.

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

Вот пример:

 fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@first ) ) )

Когда вы запустите программу, вывод будет:

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

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

Вот небольшая вариация вышеупомянутой программы.

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

 fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@second ) ) ) 

Когда вы запустите программу, вывод будет:

я = 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используется для завершения самого внутреннего цикла в этой программе, в этом случае нет необходимости использовать помеченный разрыв.

Есть 3 структурные выражения скачка в Котлин: break, continueи return. Чтобы узнать об этом continueи returnвыразить свое мнение, посетите:

  • Котлин продолжить
  • Функция Котлина

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