Trabajaremos con el uso de break y continue dentro de los bucles for y while en java de forma sencilla y clara.
Break
El uso de la instrucción break permite que un ciclo for o while sea interrumpido y la ejecución salte fuera del bloque de código. Por ejemplo en la siguientes sentencias:
public class EjemploBreak { public static void main(String args[]){ for (int i = 0; i < 10; i++) { if(i == 6) { break; } System.out.println("i: " + i); } } }
Si ejecutas este código obtienes una secuencia de números que se detiene cuando i es igual a 6 y no se imprime más.
Del mismo modo para un bucle while, la ejecución se interrumpe.
public class EjemploBreakWhile { public static void main(String args[]){ int i = 0; while(i < 10) { if(i == 6) { break; } System.out.println("i: " + i); i++; } System.out.println("valor final de i: " + i); } }
El valor final de i es 6.
Continue
La sentencia continue, a diferencia de break, no interrumpe la ejecución del ciclo, pero si la de la iteración en curso. En el ejemplo siguiente una iteración no se completa:
public class EjemploContinueFor { public static void main(String args[]){ for (int i = 0; i < 10; i++) { if(i == 6) { continue; } System.out.println("i: " + i); } } }
Observarás que se imprime una secuencia del 0 hasta el 9, saltándose la impresión del 6.
Con el ciclo while ocurre lo mismo, aunque en esta ocasión probamos con do-while, te mostramos un ejemplo:
public class EjemploContinueDoWhile { public static void main(String args[]){ int i = 0; do { i++; if(i == 6) { continue; } System.out.println("i: " + i); } while(i < 10); } }
Si ejecutas el código:
Como en ejemplo anterior con el ciclo for, la impresión del 6 se salta.
Debes tener cuidado porque puedes iterar indefinidamente si la posición en la que se coloca la sentencia continue evita que la condición se cumpla.
En el siguiente ejemplo las iteraciones nunca se detienen:
public class EjemploContinueWhile { public static void main(String args[]){ int i = 0; while (i < 10) { System.out.println("i: " + i); if(i == 2) { continue; } i++; } } }
Será necesario parar la máquina virtual para detener la ejecución del código.
Esperamos que estos ejemplos te ayuden a comprender el uso de break y continue en java.
Más información en inglés: https://geekole.com/break-and-continue-in-java/