3.6.4. Előltesztelő ciklus (while)
Sok esetben szükséges egy-egy programrészletet megismételni, gondoljunk csak arra, ha bemegyünk egy kocsmába egy ezressel és addig szeretnénk sörözni, amíg el nem fogy a pénzünk:
view plaincopy to clipboardprint?
-
int pénz = 1000;
-
int sörÁra = 400;
-
while (pénz > sörÁra)
-
{
-
System.out.println("Kérjünk egy korsó sört, majd igyuk meg.");
-
pénz -= sörÁra; // Vonjuk le a sör árát a pénzünkből
-
}
A végrehajtás során a belépési feltételünk kiértékelésre kerül, csak akkor hajtódik végre a ciklus magja, ha a feltétel igaz - vagyis van pénzünk legalább egy sörre. A ciklusmag végrehajtása után a feltétel újra és újra kiértékelődik, és a ciklus magja újra és újra végrehajtódik.
Gyakori programozási hiba, hogy a ciklusmagban nem változtatjuk a feltételben szereplő változók értékét: ekkor végtelen ciklust kapunk, amely - ha ideje engedné - a ciklusmagot végtelen esetben hajtaná végre.
|