– Chcę Ci opowiedzieć o jeszcze jednej pętli. Jest to pętla for. Jest to inny sposób wyrażania pętli while, tylko bardziej zwarty i wygodny (dla programistów). Oto kilka przykładów:

while
int i = 3;
while (i >= 0)
{
    System.out.println(i);
    i--;
}
for

for (int i = 3; i >= 0; i--) { System.out.println(i); }
while
int i = 0;
while (i < 3)
{
    System.out.println(i);
    i++;
}
for

for (int i = 0; i < 3; i++) { System.out.println(i); }
while
boolean wprowadzonoWyjdz = false;
while (!wprowadzonoWyjdz)
{
    String s = buffer.readLine();
    wprowadzonoWyjdz = s.equals("wyjdz");
}
for

for (boolean wprowadzonoWyjdz = false; !wprowadzonoWyjdz; ) { String s = buffer.readLine(); wprowadzonoWyjdz = s.equals("wyjdz"); }
while
while (true)
    System.out.println("C");
for
for (; true; )
    System.out.println("C");
while
while (true)
{
    String s = buffer.readLine();
    if (s.equals("wyjdz"))
        break;    
}
for
for (; true; )
{
    String s = buffer.readLine();
    if (s.equals("wyjdz"))
        break;    
}

– Eh?

– Te pętle są równoważne. Pętla while zawiera pojedynczy warunek w nawiasach, natomiast instrukcja pętli for ma trzy elementy. Kompilator zamienia pętlę for w równoważną pętlę while.

– Pierwsze wyrażenie w pętli for (podkreślone na zielono) jest uruchamiane, zanim pętla for się rozpocznie.

Drugie wyrażenie jest oceniane za każdym razem, kiedy ciało pętli jest wykonywane. To jak warunek w pętli while.

Trzecie wyrażenie jest oceniane po każdym wykonaniu ciała pętli.

– Dlaczego potrzebujemy kolejnej pętli? Przecież wszystko jest zupełnie jasne z pętlą while.

To daje programistom większą wygodę. Pętle są bardzo powszechne w programowaniu. Bardzo przydatne jest, by mieć pojedynczą linię zawierającą informację o początkowej wartości licznika pętli, warunku zakończenia i przyroście wyrażenia.