Pętle WHILE i DO-WHILE

Pętla WHILE służy do cyklicznego wykonywania pewnego fragmentu kodu tak długo, jak długo określony warunek jest prawdziwy, tj. dopóty dopóki warunek pętli ma wartość true. Pętla WHILE ma następującą składnię:

while( {warunek pętli} ) {
  {ciało pętli}
}

Kod oznaczony jako {ciało pętli} wykonywany jest tak długo jak długo wyrażenie oznaczone jako {warunek pętli} jest prawdziwe. Przykładowo, poniższa metoda lowerThan(…) wyświetla wszystkie liczby naturalne mniejsze od liczby num przekazanej jako parametr wywołania:

public void lowerThan(int num) {
  int x = 0;
  
  while( x < num ) {
    System.out.println(x);
  
    x = x + 1;
  }
}

Pętla DO-WHILE to wariant pętli WHILE. Różnica polega na tym, że w pętli WHILE warunek sprawdzany jest przed wykonaniem ciała pętli, natomiast w pętli DO-WHILE po. Składnia pętli DO-WHILE jest następująca:

do {
  {ciało pętli}
} while ( {warunek pętli} );

Zauważmy że {ciało pętli} zawsze wykona się co najmniej raz, nawet jeśli {warunek pętli} jest od początku fałszywy. Semantyka pętli DO-WHILE jest następująca: wpierw wykonaj {ciało pętli}, potem sprawdź czy prawdziwy jest {warunek pętli}; jeśli tak to wróć do początku, tj. wykonaj {ciało pętli} i sprawdź {warunek pętli}… i tak w kółko, aż {warunek pętli} przestanie być prawdziwy. Gdy {warunek pętli} przestaje być prawdziwy to wykonanie pętli się kończy.