Java míg és csinál ... míg a hurok

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… whilehurkok.

Java while loop

A Java whileciklust egy adott kód futtatására használják, amíg egy bizonyos feltétel nem teljesül. A whilehurok szintaxisa :

 while (testExpression) ( // body of loop )

Itt,

  1. Egy whilehurok kiértékeli a zárójelben lévő textExpressiont() .
  2. Ha a textExpression értékét értékeli true, akkor a whilehurok belsejében lévő kód végrehajtásra kerül.
  3. A textExpression ismét kiértékelésre kerül.
  4. Ez a folyamat addig tart, amíg a textExpression meg nem lesz false.
  5. 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

Folyamatábra a Java while ciklus alatt

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 whilehurok 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 sumvá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… whilehurok hasonló a while ciklushoz. A do… whileciklustestet azonban egyszer végrehajtják, mielőtt a teszt kifejezést ellenőriznék. Például,

 do ( // body of loop ) while(textExpression)

Itt,

  1. A hurok testét először végrehajtják. Ezután kiértékeli a textExpression értéket.
  2. Ha a textExpression értékét erre értékeli true, akkor az doutasítás belsejében lévő hurok törzse újra végrehajtásra kerül.
  3. A textExpression ismét kiértékelésre kerül.
  4. Ha a textExpression értékét erre értékeli true, akkor az doutasítás belsejében lévő hurok törzse újra végrehajtásra kerül.
  5. 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

Folyamatábra a Java do while ciklusból

Lássuk a do… whilehurok 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 forciklust 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… whilehurkok általában használni, amikor az iterációk ismeretlen. Például,

 while (condition) ( // body of loop )

érdekes cikkek...