Ebben az oktatóanyagban megtanuljuk, hogyan kell használni a while és do while ciklust a Java-ban példák segítségével.
A számítógépes programozás során a ciklusokat egy kódblokk megismétlésére használják. Például, ha 100-szor szeretne üzenetet megjeleníteni, akkor használhat ciklust. Ez csak egy egyszerű példa; sokkal többet érhet el a hurkok segítségével.
Az előző oktatóanyagban megismerkedett a Java for loop programmal. Itt fogsz tanulni while
és do… while
hurkok.
Java while loop
A Java while
ciklust egy adott kód futtatására használják, amíg egy bizonyos feltétel nem teljesül. A while
hurok szintaxisa :
while (testExpression) ( // body of loop )
Itt,
- Egy
while
hurok kiértékeli a zárójelben lévő textExpressiont()
. - Ha a textExpression értékét értékeli
true
, akkor awhile
hurok belsejében lévő kód végrehajtásra kerül. - A textExpression ismét kiértékelésre kerül.
- Ez a folyamat addig tart, amíg a textExpression meg nem lesz
false
. - Amikor a textExpression értékét értékeli
false
, a hurok leáll.
Ha többet szeretne megtudni a feltételekről, keresse fel a Java relációs és logikai operátorokat.
A while hurok folyamatábra

1. példa: Számok megjelenítése 1-től 5-ig
// Program to display numbers from 1 to 5 class Main ( public static void main(String() args) ( // declare variables int i = 1, n = 5; // while loop from 1 to 5 while(i <= n) ( System.out.println(i); i++; ) ) )
Kimenet
1 2 3 4 5
Így működik ez a program.
Ismétlés | Változó | Feltétel: i <= n | Akció |
---|---|---|---|
1 | i = 1 n = 5 | true | 1 van nyomtatva. i értékét 2-re növeljük . |
2. | i = 2 n = 5 | true | 2 van nyomtatva. i 3-ra növekszik . |
3 | i = 3 n = 5 | true | 3 van nyomtatva. i értékét 4-re növeljük . |
4 | i = 4 n = 5 | true | 4 nyomtatva van. i értékét 5-re növeljük . |
5. | i = 5 n = 5 | true | 5 nyomtatva van. i-t 6-ra növeljük . |
6. | i = 6 n = 5 | false | A hurok megszűnik |
2. példa: Csak a pozitív számok összege
// Java program to find the sum of positive numbers import java.util.Scanner; class Main ( public static void main(String() args) ( int sum = 0; // create an object of Scanner class Scanner input = new Scanner(System.in); // take integer input from the user System.out.println("Enter a number"); int number = input.nextInt(); // while loop continues // until entered number is positive while (number>= 0) ( // add only positive numbers sum += number; System.out.println("Enter a number"); number = input.nextInt(); ) System.out.println("Sum = " + sum); input.close(); ) )
Kimenet
Írjon be egy számot 25 Írjon be egy számot 9 Írjon be egy számot 5 Írjon be egy számot -3 Összeg = 39
A fenti programban a Scanner osztályt használtuk arra, hogy bemenetet vegyünk a felhasználótól. Itt nextInt()
egész számot vesz a felhasználótól.
A while
hurok addig folytatódik, amíg a felhasználó negatív számot nem ír be. Minden egyes iteráció során a felhasználó által megadott szám hozzáadódik a sum
változóhoz.
Amikor a felhasználó negatív számot ír be, a hurok véget ér. Végül megjelenik a teljes összeg.
A Java nem… közben hurok
A do… while
hurok hasonló a while ciklushoz. A do… while
ciklustestet azonban egyszer végrehajtják, mielőtt a teszt kifejezést ellenőriznék. Például,
do ( // body of loop ) while(textExpression)
Itt,
- A hurok testét először végrehajtják. Ezután kiértékeli a textExpression értéket.
- Ha a textExpression értékét erre értékeli
true
, akkor azdo
utasítás belsejében lévő hurok törzse újra végrehajtásra kerül. - A textExpression ismét kiértékelésre kerül.
- Ha a textExpression értékét erre értékeli
true
, akkor azdo
utasítás belsejében lévő hurok törzse újra végrehajtásra kerül. - Ez a folyamat addig folytatódik, amíg a textExpression ki nem értékeli
false
. Ezután a hurok leáll.
A do… while hurok folyamatábra

Lássuk a do… while
hurok működését.
3. példa: Számok megjelenítése 1-től 5-ig
// Java Program to display numbers from 1 to 5 import java.util.Scanner; // Program to find the sum of natural numbers from 1 to 100. class Main ( public static void main(String() args) ( int i = 1, n = 5; // do… while loop from 1 to 5 do ( System.out.println(i); i++; ) while(i <= n); ) )
Kimenet
1 2 3 4 5
Így működik ez a program.
Ismétlés | Változó | Feltétel: i <= n | Akció |
---|---|---|---|
i = 1 n = 5 | nem ellenőrzött | 1 van nyomtatva. i értékét 2-re növeljük . |
|
1 | i = 2 n = 5 | true | 2 van nyomtatva. i 3-ra növekszik . |
2. | i = 3 n = 5 | true | 3 van nyomtatva. i értékét 4-re növeljük . |
3 | i = 4 n = 5 | true | 4 nyomtatva van. i értékét 5-re növeljük . |
4 | i = 5 n = 5 | true | 6 nyomtatva van. i-t 6-ra növeljük . |
5. | i = 6 n = 5 | false | A hurok megszűnik |
4. példa: A pozitív számok összege
// Java program to find the sum of positive numbers import java.util.Scanner; class Main ( public static void main(String() args) ( int sum = 0; int number = 0; // create an object of Scanner class Scanner input = new Scanner(System.in); // do… while loop continues // until entered number is positive do ( // add only positive numbers sum += number; System.out.println("Enter a number"); number = input.nextInt(); ) while(number>= 0); System.out.println("Sum = " + sum); input.close(); ) )
1. kimenet
Írjon be egy számot 25 Írjon be egy számot 9 Írjon be egy számot 5 Írjon be egy számot -3 Összeg = 39
Here, the user enters a positive number, that number is added to the sum variable. And this process continues until the number is negative. When the number is negative, the loop terminates and displays the sum without adding the negative number.
Output 2
Enter a number -8 Sum is 0
Here, the user enters a negative number. The test condition will be false
but the code inside of the loop executes once.
Infinite while loop
If the condition of a loop is always true
, the loop runs for infinite times (until the memory is full). For example,
// infinite while loop while(true)( // body of loop )
Here is an example of an infinite do… while
loop.
// infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1)
In the above programs, the textExpression is always true
. Hence, the loop body will run for infinite times.
for and while loops
A for
ciklust akkor használják, ha az iterációk száma ismert. Például,
for (let i = 1; i <=5; ++i) ( // body of loop )
És while
és do… while
hurkok általában használni, amikor az iterációk ismeretlen. Például,
while (condition) ( // body of loop )