English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este artículo, aprenderás a usar la sentencia break para transferir el control del programa.
Al usar bucles o declaraciones condicionales, es posible que necesite omitir ciertas declaraciones dentro del bucle o detener inmediatamente el bucle sin verificar la expresión de prueba
En este caso, se utilizarán las sentencias break y continue. Lo aprenderás en el siguiente capítulo Sentencia continue.
La sentencia break detiene la ejecución del bucle o la declaración switch. Luego, salta a la siguiente declaración después del bucle o la declaración switch.
La sintaxis de la sentencia break es:
break
for i in 1...5 { if i == 4 { break } print("i = \(i)") } print("El fin")
Al ejecutar este programa, la salida será:
i = 1 i = 2 i = 3 The end
En el programa anterior, el rango de la secuencia a iterar es1hasta5.
El valor de i se establece en el rango(1) el primer número, y se actualiza a la próxima número en el rango en cada iteración.
El bucle también contiene una instrucción if, la expresión es i==4. La expresión se calcula como true cuando (en el4Ejecuta la instrucción break cuando la expresión en la-La iteración finaliza. (En la
Luego, salta al exterior del bucle para imprimir The End.
var currentLevel: Int = 1, finalLevel: Int = 2 var isLifeAvailable = true while (isLifeAvailable) { if currentLevel > finalLevel { print("El juego ha terminado, no hay más niveles") break } //Juega el juego, pasa al siguiente nivel currentLevel += 1 print("Siguiente nivel") } print("Fuera del bucle while")
Al ejecutar este programa, la salida será:
Siguiente nivel Siguiente nivel El juego ha terminado, no hay más niveles Fuera del bucle while
En el programa anterior, la expresión de prueba del bucle while siempre es true.
Cuando currentLevel es mayor que finalLevel, se ejecuta la instrucción break dentro del bloque if. Luego, el programa sale (termina) del bucle while y ejecuta las instrucciones después del bucle, es decir, print("Fuera del bucle while")..
for j in 1...2 { for i in 1...5 { if i == 4 { break } print("i = \(i)") } print("j = \(j)") }
Al ejecutar este programa, la salida será:
i = 1 i = 2 i = 3 j = 1 i = 1 i = 2 i = 3 j = 2
En el programa anterior, si i == 4 la instrucción break dentro del bucle solo termina el for i in 1...5 la ejecución del bucle interno. Sin embargo, sigue ejecutando el bucle exterior for j in 1...2 .
pero, si también quieres break en el bucle exterior for j in 1...2¿y? Para esto, en Swift usamos instrucciones con etiqueta.
Las instrucciones con prefijo en forma de (label: Statement) se llaman instrucciones con etiqueta. La etiqueta es un identificador que puede ser referenciado más tarde en instrucciones break o continue.
Aquí label es un identificador. Cuando se ejecuta la instrucción break, finaliza el bucle interno label y el programa saltará inmediatamente a la instrucción después de la etiqueta.
outerloop: for j in 1...2{ innerloop: for i in 1...5 { if i == 4 { break outerloop } print("i = \(i)") } print("j = \(j)") }
Al ejecutar este programa, la salida será:
i = 1 i = 2 i = 3
En el programa anterior, hay dos instrucciones etiquetadas outerloop: for j in 1...2 y innerloop: for i in 1...5.
Los nombres de etiqueta outerloop y innerloop pueden utilizarse junto con la instrucción break.
La instrucción break outerloop detiene dos bucles y finaliza el programa.
Si está familiarizado con otros lenguajes de programación, como C, C ++,Java, etc., se utiliza la instrucción break para finalizar la instrucción switch. Sin embargo, en Swift, la instrucción switch finaliza su ejecución inmediatamente después de completar el primer caso coincidente. Por lo tanto, es opcional agregar break en los casos de switch de Swift. Para obtener más información, visiteInstrucción switch Swift.