Rotura de Kotlin (con ejemplos)

En este tutorial, aprenderá a usar break para terminar un bucle. Además, también aprenderá sobre etiquetas de rotura.

Suponga que está trabajando con bucles. A veces es deseable terminar el ciclo inmediatamente sin verificar la expresión de prueba.

En tal caso, breakse utiliza. Termina el bucle envolvente más cercano cuando se encuentra (sin verificar la expresión de prueba). Esto es similar a cómo funciona la instrucción break en Java.

¿Cómo funciona el descanso?

Casi siempre se usa con la construcción if… else. Por ejemplo,

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

Si testExpression se evalúa como true, breakse ejecuta, lo que termina el forciclo.

Ejemplo: ruptura de Kotlin

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

Cuando ejecute el programa, la salida será:

 1 2 3 4 

Cuando el valor de i es igual a 5, la expresión i == 5interior ifse evalúa truey breakse ejecuta. Esto termina el ciclo for.

Ejemplo: Calcule la suma hasta que el usuario ingrese 0

El programa siguiente calcula la suma de los números ingresados ​​por el usuario hasta que el usuario ingresa 0.

Visite Kotlin Basic Input Output para obtener más información sobre cómo recibir información del usuario.

 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") )

Cuando ejecute el programa, la salida será:

 Ingrese un número: 4 Ingrese un número: 12 Ingrese un número: 6 Ingrese un número: -9 Ingrese un número: 0 suma = 13

En el programa anterior, la expresión de prueba del whileciclo es siempre true.

Aquí, el whileciclo se ejecuta hasta que el usuario ingresa 0. Cuando el usuario ingresa 0, breakse ejecuta lo que termina el whileciclo.

Descanso etiquetado Kotlin

Lo que ha aprendido hasta ahora es la forma sin etiquetar de break, que termina el ciclo circundante más cercano. Hay otra forma que breakse puede usar (formulario etiquetado) para terminar el bucle deseado (puede ser un bucle externo).

¿Cómo funciona la rotura etiquetada?

La etiqueta en Kotlin comienza con un identificador seguido de @.

Aquí, test @ es una etiqueta marcada en el ciclo externo while. Ahora, al usar breakcon una etiqueta ( break@testen este caso), puede romper el ciclo específico.

He aquí un ejemplo:

 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 ) ) )

Cuando ejecute el programa, la salida será:

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

Aquí, cuando i == 2se evalúa la expresión true, break@firstse ejecuta lo que termina el ciclo marcado con etiqueta first@.

Aquí hay una pequeña variación del programa anterior.

En el programa siguiente, break termina el bucle marcado con la etiqueta @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 ) ) ) 

Cuando ejecute el programa, la salida será:

i = 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

Nota: Dado que, breakse usa para terminar el bucle más interno en este programa, no es necesario usar break etiquetado en este caso.

Hay 3 expresiones salto estructurales en Kotlin: break, continuey return. Para conocer continuey returnexpresarse, visite:

  • Kotlin continúa
  • Función de Kotlin

Articulos interesantes...