martes, 27 de marzo de 2012

Sentencias Break y Continue

Buenas amigos, en el tema anterior hablamos mínimamente de la sentencia BREAK y no vimos nada del CONTINUE. Bien, este tema se lo vamos a dedicar íntegramente a estas dos sentencias, las cuales pueden solucionar mas de un problema a la hora de picar código.

Estas sentencias modifican el comportamiento de otras sentencias, simplemente por estar incluidas en algún punto de su secuencia de instrucciones.



La sentencia BREAK afecta a las sentencias SWITCH, WHILE, FOR y  DO/WHILE de la siguiente forma:

  1. Si aparece dentro de una secuencia de instrucciones, dicha sentencia termina su ejecución.
  2. Si aparece en una sentencia anidada, termina de ejecutarse la sentencia más interna.

La sentencia CONTINUE afecta a las sentencias SWITCH, WHILE, FOR y DO/WHILE de la siguiente forma:
  1. Si aparece dentro de una secuencia de instrucción, dicha sentencia no ejecuta la la instrucción y pasaría a la siguiente iteración
  2. Si aparece dentro de una sentencia anidada, solo afecta a la sentencia de iteración más interna.
Pongamos un ejemplo de BREAK, "Mostrar los 10 primeros números enteros, cuando el numero sea igual a 4 finalizar el FOR con un break y mostrar mensaje por pantalla":



Bien, creamos un nuevo proyecto y una nueva clase, y dentro de la MAIN iniciamos el FOR:
          • for(int i=0;i<10;i++){

          • if(i==4){

          • System.out.println("FOR finalizado por sentencia BREAK");
          • break;

          • }
          • System.out.println(i);
          • }
Bueno, creamos nuestro FOR para los 10 primeros números enteros, (si no recuerdas el funcionamiento del FOR, lo puedes mirar aquí), dentro del FOR creamos una sentencia condicional para comprobar si i es igual a 4, en caso de que sea verdadero, mostrará un mensaje por pantalla y ejecutará el break, que hace que finalice la ejecución del FOR, si no es verdadera, pasará de la sentencia condicional e imprimirá el valor de i por pantalla. quedando así:


Ahora pondremos el mismo ejemplo pero con un CONTINUE en vez de un BREAK:



Bien, una vez cambiado, ejecutáis, y veréis que cambia lo que imprime por consola, esta vez no termina la ejecución del FOR, si no que se salta una iteración o repetición, pasando a la siguiente y ejecutándose con normalidad hasta el final.


Ya sabéis, BREAK para finalizar sentencia, y CONTINUE para finalizar iteración o repetición de la sentencia.

Un saludo.

No hay comentarios:

Publicar un comentario