English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderá a usar break para terminar un bucle. Además, también conocerá la etiqueta break.
Supongamos que está utilizando un bucle. A veces, se desea terminar el bucle inmediatamente sin verificar la expresión de prueba.
En este caso, se puede usar break. Cuando se encuentra break, terminará el ciclo cerrado más cercano (sin verificar la expresión de prueba). Esto es similar aLa forma en que funciona la sentencia break en Java.
que casi siempre se usa conif..else juntos. Por ejemplo,
for (...) { if (testExpression) { break } }
Si evalúa if testExpression como true, se ejecuta break para terminar el bucle for.
fun main(args: Array<String>) { for (i in 1..10) { if (i == 5) { break } println(i) } }
Al ejecutar el programa, la salida es:
1 2 3 4
cuando el valor i es igual a5si el valor de i == 5si el valor interno de if se calcula como true, luego se ejecuta break. Esto terminaráEl bucle for.
El siguiente programa calcula la suma de los números ingresados por el usuario hasta que el usuario ingrese 0.
AccederKotlin básico de entrada/salidapara obtener más información sobre cómo obtener la entrada del usuario.
fun main(args: Array<String>) { var sum = 0 var number: Int while (true) { print("Ingrese un número:") number = readLine()!!.toInt() if (number == 0) break sum +number = } print("sum = $sum") }
Al ejecutar el programa, la salida es:
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 sum = 13
En el programa anterior, la expresión de prueba del bucle while siempre es true.
Aquí, el bucle while se ejecuta hasta que el usuario ingrese 0. Cuando el usuario ingresa 0, se ejecuta break, lo que termina el bucle while.
Hasta ahora, lo que has aprendido es break sin etiqueta, que termina el bucle cerrado más cercano. Break se puede usar de otra manera (con etiqueta) para terminar el bucle necesario (puede ser un bucle externo).
Las etiquetas en Kotlin seIdentificadoral principio, seguido de @.
Aquí, test@ está en el exterioren el bucle whileLas etiquetas de etiqueta. Ahora, utilizando break con etiqueta (en este caso break @test), se puede romper el bucle específico.
fun main(args: Array<String>) { first@ por (i en 1..4) { second@ for (j in 1..2) { println("i = $i; j = $j") if (i == 2) break@first } } }
Al ejecutar el programa, la salida es:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Aquí, cuando i == 2Cuando el resultado de la expresión es true, se ejecuta break@first para terminar el bucle etiquetado como first@.
Estas son algunas variantes del programa anterior.
En el siguiente programa, break termina el bucle con etiqueta @second.
fun main(args: Array<String>) { first@ por (i en 1..4) { second@ for (j in 1..2) { println("i = $i; j = $j") if (i == 2) break@second } } }
Al ejecutar el programa, la salida es:
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 break se utiliza en el programa para terminar el bucle más interno, en este caso no es necesario usar break con etiqueta.
En Kotlin hay3Expresión de salto estructural: break, continue y return.