1. Declaración break
Veamos un ejemplo de la lección anterior:
Código | Explicación |
---|---|
|
El programa leerá una línea del teclado, hasta que ingreses "exit" . |
El programa lee líneas desde la consola hasta que exit
se ingresa la palabra. Si ingresa esta palabra, la isExit
variable se convierte en true
, la condición del ciclo será y el ciclo terminará".!isExit
false
Java tiene una declaración break
especial que le permite simplificar dicha lógica. Si una break
instrucción se ejecuta dentro de un bucle, el bucle finaliza inmediatamente. El programa comenzará a ejecutar la instrucción que sigue al bucle. El comunicado es muy breve:
break;
Así es como puede usar la declaración break
para reescribir el ejemplo que acabamos de discutir:
Código | Explicación |
---|---|
|
El programa leerá una línea del teclado, hasta que ingreses "exit" . |
2. continuar declaración
Pero break
no es la única declaración de Java que le permite controlar el comportamiento de un bucle. Java también tiene la declaración continue
. Si ejecuta una declaración continue
dentro de un bucle, la iteración actual del bucle terminará antes de lo previsto.
Ejecutar el cuerpo del bucle una vez se denomina iteración del bucle. La declaración continue
interrumpe la iteración actual del ciclo, pero a diferencia de la declaración break
, no finaliza el ciclo en sí. La declaración también es breve:
continue;
La declaración continue
es muy conveniente en un bucle si queremos 'saltar' la ejecución del cuerpo del bucle en ciertas situaciones.
Tarea: Queremos escribir un programa que imprima números de 1
a 20
pero salte los números que son divisibles por 7
. Así es como se vería este código.
Código | Explicación |
---|---|
|
El programa muestra números desde 1 hasta 20 . Si el número es divisible por 7 (el resto de la división por 7 es 0 ), omitiremos mostrar el número. |
En realidad, este código no funcionará , porque i
estará para siempre atascado en el número 7
. Después de todo, la declaración continue
salta otras dos declaraciones: System.out.println(i)
y i++
. Como resultado, una vez que alcancemos el valor 7
, la variable i
dejará de cambiar y estaremos en un bucle infinito.
Escribimos el código de esta manera a propósito para ilustrar este error muy común. ¿Cómo lo arreglamos?
Aquí hay dos opciones:
Opción 1: cambiar i
antes de ejecutar continue
, pero despuési % 7
Opción 2: incrementar siempre i
al principio del ciclo. Pero entonces i
el valor inicial debe ser 0
.
Opción 1 | opcion 2 |
---|---|
|
|
GO TO FULL VERSION