2010-04-17 11 views
5

Widziałem gdzieś ten kawałek kodu na interentach. Zastanawiam się, do czego służy do.co tutaj "zrobić"? (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); 
    } 
} 

Co mam na myśli, co dokładnie oznacza do? Jaka jest jego funkcja? Przydatne też byłyby wszelkie inne informacje.

+3

sformatowane na swoje kod. Oh hej czekaj - teraz możesz zobaczyć, gdzie 'do' należy ^^ – Leo

+7

Powiedziałeś doo doo. –

+0

Czy można ponownie sformatować go ponownie, aby odpowiednio wcięcie nawiasów. Drugie wyrażenie if nie ma nawiasu otwierającego, więc nawias, który się z nim składa, faktycznie należy do pętli for, a następny do pierwszego, jeśli. – DaveJohnston

Odpowiedz

6

Jest to pętla do-while. Tak więc zrobi wszystko w następnym bloku, podczas gdy liczba jest mniejsza lub równa 5. Różnica między tą a normalną pętlą while polega na tym, że warunek jest oceniany na końcu pętli, a nie na początku. Więc pętla jest gwarantowana do wykonania co najmniej raz.

Sun tutorial on while and do-while.

Aha, i w tym przypadku wypisze:

1, 2 
1, 2, 3, 4 

Edit: tak wiesz będzie też nowa linia na początku, ale nie wydaje się, formatowanie żeby mi to pokazać.

-1

To wszystko. rób {...} while() to pętla, która ma koniec końcówki.

3

Jest podobny do pętli while, z tą różnicą, że jest wykonywany co najmniej raz.

Dlaczego? Ponieważ stan while jest oceniany tylko po bloku do.

Dlaczego jest przydatny? Rozważmy na przykład menu gry. Najpierw chcesz wyświetlić menu (blok do), a następnie chcesz nadal wyświetlać menu, dopóki ktoś nie wybierze opcji zakończenia, która byłaby warunkiem zatrzymania while.

1

do { ... } while(CONDITION) gwarantuje, że blok wewnątrz nie będzie wykonywane przynajmniej raz nawet jeśli warunek nie jest spełniony, Z drugiej strony, while statment nie wykona jeśli warunek nie jest spełniony