– 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:
int i = 3;
while (i >= 0)
{
System.out.println(i);
i--;
}
for (int i = 3; i >= 0; i--)
{
System.out.println(i);
}
int i = 0;
while (i < 3)
{
System.out.println(i);
i++;
}
for (int i = 0; i < 3; i++)
{
System.out.println(i);
}
boolean wprowadzonoWyjdz = false;
while (!wprowadzonoWyjdz)
{
String s = buffer.readLine();
wprowadzonoWyjdz = s.equals("wyjdz");
}
for (boolean wprowadzonoWyjdz = false; !wprowadzonoWyjdz; )
{
String s = buffer.readLine();
wprowadzonoWyjdz = s.equals("wyjdz");
}
while (true)
System.out.println("C");
for (; true; )
System.out.println("C");
while (true)
{
String s = buffer.readLine();
if (s.equals("wyjdz"))
break;
}
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.
GO TO FULL VERSION