Mientras trabaja con bucles, diga que desea detener la ejecución del bucle inmediatamente si se cumple una determinada condición. En este caso, puede usar la expresión break o return para salir del ciclo.
En este artículo, vamos a aprender cómo usar la expresión de ruptura para salir de un ciclo. Cuando se encuentra una expresión de ruptura en un programa, termina en el bucle envolvente más cercano.
Hay dos tipos de expresión de ruptura en Kotlin:
como todos sabemos, la ruptura sin etiqueta se usa para terminar en el bucle más cercano cuando se cumple cierta condición.
Pero etiquetado romperse utiliza para terminar en un ciclo deseado cuando se cumple cierta condición. Se puede hacer con la ayuda de etiquetas. Un identificador seguido del signo @ se llama etiqueta, por ejemplo, interior@, exterior@, primero@, segundo@, etc. Puede usar etiqueta con cualquier expresión y debe escribirse delante de ella.
Vamos a aprender cómo usar la expresión break etiquetada en while, do-while y for loop.
Uso de la interrupción etiquetada en el ciclo while –
La ruptura etiquetada se usa para salir al bloque deseado cuando cumple una condición específica sin verificar la condición en el ciclo while. Luego, transfiere el control a la siguiente instrucción del bloque while.
Si marca el bucle exterior con la etiqueta outside@ , puede romper fácilmente el bucle exterior utilizando break@outer en el bloque de condición de interrupción.
Sintaxis de interrupción etiquetada while loop-
outer@ while(condition) { // code inner@ while(condition) { // code if(break condition) { break @outer } } }
Programa Kotlin de uso de interrupción etiquetada en while loop –
Kotlin
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-- } }
Producción:
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
Cuando la expresión (num1 == 2) se evalúa como verdadera, se ejecuta break@outer, que finaliza el ciclo deseado marcado con outside@.
Uso de interrupción etiquetada en bucle do-while –
En el bucle do-while también se ejecuta la ruptura etiquetada para terminar el bucle deseado. Aquí hemos usado outside@ para el do-while externo e inner@ para el bucle do-while interno.
Sintaxis de ruptura etiquetada en bucle do-while –
outer@ do { // code inner@ do { // code if(break condition) { break@outer } } while(condition) } while(condition)
Programa de Kotlin de uso de interrupción etiquetada en do-while loop-
Kotlin
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) }
Producción:
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
Aquí, imprimimos la misma salida que el bucle while. Cuando la expresión (num1 == 2) se evalúa como verdadera, se ejecuta break@outer, que finaliza el ciclo deseado marcado con outside@.
Uso de interrupción etiquetada en bucle for –
En for loop también podemos usar la ruptura etiquetada para terminar el ciclo deseado para ciertas condiciones. Hemos etiquetado el bucle for exterior como exterior@ y el bucle for interior como interior@. En el ciclo for, la iteración se debe realizar a través del iterador.
Sintaxis de interrupción etiquetada en bucle for –
outer@ for(iteration through iterator) { // code inner@ for(iteration through iterator) // code if(break condition) { break@outer } } }
Programa Kotlin de uso de interrupción etiquetada en for-loop-
Kotlin
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") } } }
Producción:
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
Publicación traducida automáticamente
Artículo escrito por Praveenruhil y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA