Estructuras de salto¶
Sentencias break y continue¶
Anteriormente vimos que la sentencia break finaliza la ejecución de una sentencia switch. Pues bien, cuando se utiliza break en el bloque correspondiente a una sentencia while, do (do-while) o for , hace lo mismo: finaliza la ejecución del bucle.
Cuando las sentencias switch, while, do o for estén anidadas, la sentencia break solamente finaliza la ejecución del bucle donde esté incluida.
/* Programa que muestra valores de i desde 1 hasta 10 */
public class SentenciaBreak1 {
public static void main(String[] args) {
//Bucle for infinito ya que se repite siempre
for(int i = 1; ; i++){
System.out.print(i + " | ");
if(i == 10)
break; //Permite la salida del bucle infinito
}
}
}
La sentencia continue obliga a ejecutar la siguiente iteración del bucle while, do o for en el que está contenida. Ejecuta el siguiente programa y observa que cada vez que se ejecuta la sentencia continue, se inicia la ejecución del bloque de sentencias for para un nuevo valor de n.
public class SentenciaContinue{
public static void main(String[] args) {
for(int n = 0; n <= 100; n++){
if(n %5 != 0){
continue; //si n no es múltiplo, siguiente iteración
}
System.out.println(n + " "); //imprime siguiente múltiplo
}
}
}
Se ha de intentar limitar el uso de las instrucciones continue y solo utilizarlas cuando esto simplifique el entendimiento del programa. Se puede implementar cualquier bucle sin el uso de la instrucción continue.
Sentencias break y continue con etiquetas¶
Con las sentencias break y continue se puede también utilizar una etiqueta para indicar dónde se debe reanudar la ejecución. El uso de etiquetas es una mala práctica en programación, por lo que debe reducirse a casos excepcionales, pero se comenta aquí por tener conciencia de su existencia.