Котлин с надписью перерыв
#KotlinПри работе с циклами скажем, что вы хотите немедленно остановить выполнение цикла, если выполняется определенное условие. В этом случае вы можете использовать выражение break или return для выхода из цикла.
В этой статье мы узнаем, как использовать выражение break для выхода из цикла. Когда выражение прерывания встречается в программе, оно заканчивается в ближайшем замкнутом цикле.
В Kotlin есть два типа выражения:
- Помеченный перерыв
- Немеченый разрыв
помеченный разрыв используется для завершения желаемого цикла, когда выполняется определенное условие. Это можно сделать с помощью ярлыков. Идентификатор, за которым следует знак @ называется меткой eg-inner @, external @, first @, second @ и т. Д. Вы можете использовать метку с любым выражением, и оно должно быть написано перед ним.
Мы собираемся узнать, как использовать помеченное выражение break в циклах while, do-while и for.
Использование маркированного разрыва в цикле while —
Помеченный разрыв используется для выхода в нужный блок, когда он удовлетворяет определенному условию, без проверки условия в цикле while. Затем передает управление следующему утверждению блока while.
Если вы пометите внешний цикл с помощью метки external @, то вы можете легко разорвать внешний цикл, используя break@outer в блоке условия прерывания.
Синтаксис помеченного разрыва в цикле
outer@ while(condition) {
// code
inner@ while(condition) {
// code
if(break condition) {
break @outer
}
}
}
Kotlin программа использования цикла break в while —
fun main(args: Array<String>) {
var num1 = 4
outer@ while (num1 > 0) {
var num2 = 4
inner@ while (num2 > 0) {
if (num1==2)
break@outer
println("num1 = $num1, num2 = $num2")
num2--
}
num1--
}
}
Выход:
num1 = 4, num2 = 4 num1 = 4, num2 = 3 num1 = 4, num2 = 2 num1 = 4, num2 = 1 num1 = 3, num2 = 4 num1 = 3, num2 = 3 num1 = 3, num2 = 2 num1 = 3, num2 = 1
Когда (num1 == 2) выражение оценивается как истинное, выполняется break @ outer, которое завершает нужный цикл, помеченный outer@ .
Использование помеченного перерыва в цикле do-while —
В цикле do-while также выполняется помеченный разрыв для завершения нужного цикла. Здесь мы использовали outer@ для внешнего do-while и inner@ для внутреннего цикла do-while.
Синтаксис помеченного прерывания в цикле do-while —
outer@ do {
// code
inner@ do {
// code
if(break condition) {
break@outer
}
} while(condition)
} while(condition)
Программа Kotlin по использованию помеченного break в цикле do-while
fun main(args: Array<String>) {
var num1 = 4
outer@ do {
var num2 = 4
inner@ do {
if (num1 == 2)
break@outer
println("num1 = $num1; num2 = $num2")
num2--
} while (num2 > 0)
num1--
} while (num1 > 0)
}
Выход:
num1 = 4; num2 = 4 num1 = 4; num2 = 3 num1 = 4; num2 = 2 num1 = 4; num2 = 1 num1 = 3; num2 = 4 num1 = 3; num2 = 3 num1 = 3; num2 = 2 num1 = 3; num2 = 1
Здесь мы печатаем тот же вывод, что и в цикле while. Когда (num1 == 2) выражение оценивается как истинное, выполняется break @ outer, которое завершает нужный цикл, помеченный outer@ .
Использование маркированного взлома для цикла —
В цикле for мы также можем использовать помеченный разрыв, чтобы завершить нужный цикл для определенного условия. Мы обозначили внешний цикл for как внешний @, а внутренний цикл for как внутренний @. В цикле for итерация выполняется через итератор.
Синтаксис помеченного разрыва цикла for —
outer@ for(iteration through iterator) {
// code
inner@ for(iteration through iterator)
// code
if(break condition) {
break@outer
}
}
}
Kotlin программа использования помеченного разрыва в for-loop-
fun main(args: Array<String>) {
outer@ for (num1 in 4 downTo 1) {
inner@ for (num2 in 4 downTo 1) {
if (num1 == 2)
break@outer
println("num1 = $num1; num2 = $num2")
}
}
}
Выход:
num1 = 4; num2 = 4 num1 = 4; num2 = 3 num1 = 4; num2 = 2 num1 = 4; num2 = 1 num1 = 3; num2 = 4 num1 = 3; num2 = 3 num1 = 3; num2 = 2 num1 = 3; num2 = 1