do while, while, for, for-each,

ARELLIS AREVALO ACOSTA
29 de Septiembre del 2009
Agradezco que se me expliquen en que momento debo utilizar este tipo de bucles y para que sirve cada uno.
do while, while, for, for-each,

santos.r09
29 de Septiembre del 2009
Hola Arellis
Básicamente funciona así:
1. WHILE : Para cuando quieres que un bloque de código se repita un número DESCONOCIDO de veces (X ITERACIONES), tu solo quieres que ese bloque de código se este repitiendo, HASTA que una condión se cumpla( condición == true).

2. DO WHILE. Es muy similar al WHILE, solo que en este el bloque de código se ejecuta AL MENOS UNA VEZ, es decir, primero se realizan las operaciones del bloque de código, después se evalua la condición, si es falsa (condición == false) entonces se vuelve a ejecutar el código, si es verdadera(condición == verdadera) NO se vuelve a ejecutar el código. En WHILE puede que el bloque de código nunca se llegué a ejecutar porque la evaluación nunca fué falsa.

3. FOR: Este es para cuando tu conoces el número de iteraciones que un bloque de código va a tener(tu sabes cuantas veces se va a repetir), puede ser especificando el valor directamente (1,2,3,4,20,54,12, etc.) o por medio de una variable entera(x, cuando x vale 3 ó 5 ó 20 ó 100, etc.)
FOR esta compuesto básicamente de 3 partes:
*La Declaración e inicialización de variables, seguida de ";"
*La expresión booleana (evaluación de la condición) seguida de ";"
*La expresión de Iteración (incremento o decremento del contador).
for (int x=0; x<10; x++) {
System.out.println("x es igual a:" + x);
}

4. FOR EACH: Este tipo de FOR es más utilizado para hacer iteraciones através de Arreglos y Colecciones(Arrays y Collections), enJava 5 se le conoce como "ENHANCED FOR"y su estructura es:
FOR (DECLARACION : EXPRESION )
Donde:
DECLARACION el tipo de variable declarada debe ser compatible con el tipo de elemntos del array, si el array tiene Objetos "Perro", la variable debe ser declarada de tipo "Perro", si tiene primitivos int, la variable debe ser de tipo int.
EXPRESION aqui va el nombre del arreglo(o colección) por asi decirlo, es decir si tu Array lo declaraste: int[] Enteros = {1,2,3,4,5} entonces en EXPRESION solo pones la palabra "Enteros", tambien puede ir una llamada a método que regrese un array. FOR EACH recorre TODOS y cada uno de los elementos de la colección.
Tomando como ejemplo el Array "Enteros", su FOR EACH (ENHANCED FOR) quedaría:

FOR (int num : Enteros)
System.out.println("Numero : " + num);

y el ciclo se repite 5 veces, porque el arreglo contiene 5 elementos.

Espero haberte aclarado tu duda. Saludos

kendru
29 de Septiembre del 2009
int i = 0;
do{
System.out.println(i);
i++;
}while(i <= 5 );
// pinta 12345

i= 0;
while(i <= 5){
System.out.println(i);
i++;
}
// pinta 12345
for(i=0;i <=5;i++){
System.out.println(i);
}
// pinta 12345

for-each (parece que no existe en java)

todas sirven para lo mismo para iterar, depende de la situación te puede servir una más que otra. pero por lo general se puede usar cualquiera