2010-04-17 30 views
5

Vi este fragmento de código en los interents en alguna parte. Me pregunto para qué sirve el do.¿Qué hace "hacer" aquí? (java)

public class LoopControl { 
    public static void main(String[] args) { 
     int count = 0; 

     do { 
      if (count % 2 == 0) { 
       for (int j = 0; j < count; j++) { 
        System.out.print(j+1); 

        if (j < count-1) { 
         System.out.print(", "); 
        } 
       } 

       System.out.println(); 
      } 

      count++; 
     } 
     while (count <= 5); 
    } 
} 

Por lo cual quiero decir exactamente lo que quiere decir do? ¿Cuál es su función? Cualquier otra información sería útil, también.

+3

reformated su código. Oh, espera, ahora puedes ver dónde está el 'do' ^^ – Leo

+7

Has dicho doo doo. –

+0

¿Puede volver a formatearlo para sangrar correctamente los corchetes? La segunda instrucción if no tiene un corchete de apertura, por lo que el corchete que se alinea con él en realidad pertenece al bucle for y el siguiente pertenece al primero if. – DaveJohnston

Respuesta

6

Es un bucle do-while. Entonces hará todo en el siguiente bloque mientras el recuento es menor o igual a 5. La diferencia entre este y un ciclo while normal es que la condición se evalúa al final del ciclo, no al inicio. Por lo tanto, se garantiza que el ciclo se ejecutará al menos una vez.

Sun tutorial on while and do-while.

Ah, y en este caso se imprimirá:

1, 2 
1, 2, 3, 4 

Editar: para que lo sepas, también habrá una nueva línea en la salida, pero no parece el formato para dejarme mostrar eso.

-1

Va con el tiempo. do {...} while() es un ciclo que tiene la condición al final.

3

Es similar a un bucle while, con la única diferencia de que se ejecuta al menos una vez.

¿Por qué? Debido a que la condición while solo se evalúa después de el bloque do.

¿Por qué es útil? Considere, por ejemplo, un menú de juego. En primer lugar, desea mostrar el menú (el bloque do) y, a continuación, desea seguir mostrando el menú hasta que alguien elija la opción de salida, que sería la condición de detención while.

1

do { ... } while(CONDITION) asegura que el bloque en el interior no se ejecutado al menos una vez incluso si la condición no se cumple, por otro lado, una DECLARACIÓN while nunca se ejecutará si no se cumple la condición