Hogyan működik a Java do-while ciklus?
A Java do-while ciklus biztosítja, hogy a program addig hajtsa végre az utasításokat, amíg egy meghatározott befejezési feltétel nem teljesül. A ciklust más funkciókkal is kombinálhatja.
Mi az a do-while ciklus?
A do-while ciklus a Java nyelvben egy utasítás végrehajtására és ismétlésére szolgál, amíg egy meghatározott befejezési feltétel teljesül (azaz igaz). Hasonló ciklusok a legtöbb programozási nyelvben megtalálhatók, és bizonyos kódblokkok többszöri végrehajtására szolgálnak. A ciklus más funkciókkal is kombinálható. A Java nyelvben a do-while ciklus a while ciklus egyik változata.
Mi a Java do-while ciklus szintaxisa?
A do-while ciklus szintaxisa Java-ban így néz ki:
do {
//statements
}
while(condition);javaA ciklus a do kulcsszóval kezdődik, amelyet a program által végrehajtandó utasítások vagy parancsok követnek. A záró zárójel után megjelenik a while kulcsszó, amely a ciklus befejezési feltételét indítja el. Ez a feltétel mindig booli kifejezésként van megadva, ami azt jelenti, hogy a program logikáján belül igaz vagy hamis értéket kap. Egy ilyen kifejezés gyakori és hasznos példája egy számláló változó, amely lehetővé teszi a ciklus ismétlésének számának meghatározását.
Hogyan működik a hurok?
A Java do-while ciklus végrehajtásakor a program megvizsgálja a ciklus testében található utasításokat, és végrehajtja azokat. Miután ez megtörtént, ellenőrzi a befejezési feltételt. Ha ez igaz (azaz még nem teljesült), a ciklus az elejétől kezdődik, és minden utasítást megismétl, amíg újra nem ellenőrzi. Amint azonban a befejezési feltétel teljesül, és így hamis lesz, a program befejezi a ciklust, és folytatja a többi kód végrehajtását.
Példa egy egyszerű ciklusra
A hurok működésének szemléltetéséhez egy egyszerű példával mutatjuk be annak felépítését. A következő példában a x változónak a 10 értéket rendeljük hozzá. A Java ++ operátor segítségével ez az érték minden ciklusban 1-gyel növekszik, és a Java System.out.println paranccsal jelenik meg. A végfeltételünk a 20 érték, így a ciklus addig ismétlődik, amíg x kisebb, mint 20. A kód így néz ki:
public class Main {
public static void main(String[] args) {
int x = 10;
do {
System.out.println(x);
x++;
}
while (x < 20);
}
}javaHa végrehajtjuk ezt a kódot, a következő eredményt kapjuk:
10
11
12
13
14
15
16
17
18
19javaA program ezután újra végrehajtja a ciklust, de x értékét 20-nak ismeri fel. Mivel ez már nem kisebb, mint 20, a befejezési feltétel teljesül, és a do-while ciklus véget ér.
Hogyan lehet végtelen hurkot létrehozni az true értékkel?
true booli kifejezés segítségével végtelen ciklust lehet tervezni a do-while segítségével. Ez soha nem áll le magától, mivel nem érhető el semmilyen befejezési feltétel. A ciklus befejezéséhez manuálisan kell használni a [Ctrl] + [C] kombinációt. A megfelelő kód így néz ki:
public class Main {
public static void main(String[] args) {
do {
System.out.println("You are in an endless loop.");
}
while(true);
}
}javaHa végrehajtja ezt a kódot, a következő eredményt kapja:
You are in an endless loop.
You are in an endless loop.
You are in an endless loop.
You are in an endless loop.
You are in an endless loop.
ctrl+cjavaHa nem fejezi be a ciklust manuálisan, akkor az tovább fog futni.
A do-while és a while közötti különbség
Sok szempontból a Java do-while ciklus és a while ciklus hasonlóak. Azonban egy fontos szempontban különböznek egymástól: a while ciklus a végfeltételét már az elején kiértékeli, míg a do-while ciklus mindig legalább egyszer teljes egészében végrehajtódik, mielőtt véget érhetne. Ha biztosítani kell, hogy a parancsok legalább egyszer végrehajtásra kerüljenek, akkor a do-while ciklust kell használni. Ha a befejezésről szóló döntés kritikus fontosságú, akkor inkább a fejvezérelt while ciklus használatát érdemes fontolóra venni.