JavaJutsu: break y continue

Estas dos sentencias funcionan como en c. Break sirve para salir de una estructura de control como un switch case o de un bucle.

El continue sirve para que el bucle salte a la siguiente vuelta, sin salir del bucle.

Atención al ejemplo y a cómo hacer breaks cuando hay más de un bucle.

 

/**
* BreakContinue
* Clase que muestra el uso de sentencias Break Continue para
* alterar la ejecución de bucles While, Do-While, o For
*
* Para compilar:
*   javac BreakContinue.java
*
* Para ejecutarlo:
*   java BreakContinue
*/
 
// Librería necesaria para trabajar con la entrada/salida
import java.io.*;
 
/**
*  clase BreakContinue
* Clase que muestra el uso de Break y Continue que nos sirven para
* modificar el normal comportamiento de los bucles.
* - Con break se rompe el bucle y se sale de él.
* - Con continue interrumpimos la ejecución actual del bucle y se salta a la siguiente vuelta
*   sin salir del bucle.  
*
*
* @author Pello Altadill
*/
public class BreakContinue {
    
    /**
    * main
    * Función principal
    * esta función es la que se inicia directamente al ejecutar el programa
    */
    public static void main (String args[])
    {
        
        // Declaramos una serie de variables
        int numero, anterior;
        int x,y;
        
        x = 10;
        
        while (x > 0)
        {
            if (x == 5)
            {
                break; // salimos del bucle
            }
            x--;
        }
        
        // Vamos a buscar los números primos
        // que hay del 2 al 20
        for (numero = 2; numero < 20; numero++)
        {
            anterior = numero;
            do
            {
                anterior--;
 
                // En cuanto es divisible, salimos
                if (numero % anterior == 0)
                {
                    break;    
                }
            
            } while(anterior > 2);
            
            // Si se ha llegado hasta el final, es primo
            if (anterior == 2)
            {
                System.out.println(numero + " es un PRIMO");
            }
        }
        
        // Si tenemos dos bucles anidados,  
        // ¿cómo podemos salir de un bucle concreto con break?
        // hay que usar una etiqueta, que es un identificador seguido de
        // dos puntos:
        
        salida:
        
        for(x=1;x<20;x++)
        {
            System.out.println("Bucle principal: " + x);
            
            if (20 % x == 7)
            {    // salimos del bucle principal
                break;
            }
            
            // para salir desde el bucle interno hasta fuera
            // tendremos que usar la etiqueta salida
            for(y=10;y>0;y--)
            {
                System.out.println("Bucle interno: " + y);
                if (20 % y == 4)
                {    // Salimos de este y del bucle principal también
                    // pero hay que especificar la etiqueta de salida
                    break salida;
                }
            }// for2
            
        }// for1
        
    }
}