Certificacion como Programador en Java
Certificación como Programador en Java 2 => Plataforma 1.4
Sección 2: Control de Flujo, Aserciones, y Manejo de Excepciones





Sección 2.2: Control de Ciclos


 
Objetivos
 

  • 2.2 Escribir código usando todas las formas de ciclos incluyendo etiquetados y no etiquetados, usar break y continue, y establecer los valores tomados por las variables contadores en los ciclos durante y después de la ejecución de cada uno.

A.- For (2.2)

for Es una estructura de control de ciclos utilizada para iterar normalmente hasta un límite específico:

for (variables del mismo tipo de dato; condición de parada;  condición de iteración) {
	sentencia o bloque;
}; 

for (int i = 0; j = 0; c = 0; i < 10; i++, j++, c++) { }; 

for (int i = 0; i < 10; i++)  {
   System.out.println(i);
}; 
System.out.println(i);   /* NO compila, la variable i
                         tiene alcance solo dentro del for */

for permite que :

for (int i = 0; i < 10; i++;) {
   System.out.println("iteracion"); 
}; 

imprima los mismos resultados que:

for (int i = 0; i < 10; System.out.println("iteracion"))  {
   i++;
}; 

for permite ciclos infinitos :

for (;;) {}; 

for se puede comportar como while :

int i = 0;
for (; i < 10; ) 
  {
  	 i++;
  }; 

for el siguiente for solo se ejecutará una sola vez, debido a la sentencia return que causa que todo el método completo termine su ejecución :

boolean doStuff()
{
  for (int x = 0; x < 10; x++) ;  
  {
  	 System.out.println("Dentro del ciclo");
  	 return true;     //return, break y System.exit() cancelan al for
  }; 
  return true;
}

for interpreta todo punto y coma como sentencia :

for (int i = 0; i < 15; i++) ;  // Este punto y coma afecta al for
  {
  	 System.out.println("Hola"); // Solo se ejecuta una sola vez
  }; 

B.- While (2.2)

while Otra estructura de control de ciclos :

while (condición booleana) ;  // siempre entre paréntesis
  { }; 

while permite ciclo infinito:

while (true)  { };  // ciclo infinito

C.- Do / While (2.2)

do / while Otra estructura de control de ciclos, difiere del while en que el do / while se ejecuta al menos una vez :

do {
	} while (condición booleana) ;  // siempre hay que colocar el ; pues si no no compila.
 

while permite ciclo infinito:

while (true)  { };  // ciclo infinito

D.- Etiquetas

Etiquetas Control de flujo especial complementarios a instrucciones usualmente asociadas a ciclos :

caso1:
    for (int i = 0; i < 10; i++)
    {
	  while (i < 10)
	  {
	  	 System.out.println("Java");
	  	 break caso1;
	  }
	  system.out.println("Continua ejecutándose el for");  // nunca se ejecuta.
    }

break con etiquetas, interrumpe el flujo y ejecuta la siguiente sentencia fuera del bloque que tenía arriba la etiqueta.

caso1:
if(true) {  }   // compila

caso1:
if(true) {  } 
while(true) { continue caso1;)    //no compila

break sin etiquetas, interrumpe el flujo del ciclo mas interno y ejecuta la siguiente sentencia bajo el ciclo mas interno.







Copyright 2003 by Juan Luis Manjarrés P.
Todos los derechos reservados.