Java, zatímco děláte ... zatímco Loop

V tomto tutoriálu se pomocí příkladů naučíme používat smyčku while a do while v Javě.

V počítačovém programování se smyčky používají k opakování bloku kódu. Například pokud chcete zobrazit zprávu 100krát, můžete použít smyčku. Je to jen jednoduchý příklad; se smyčkami toho dosáhnete mnohem více.

V předchozím kurzu jste se dozvěděli o prostředí Java for loop. Zde se budete učit o whilea do… whilesmyčky.

Smyčka Java while

whileSmyčka Java se používá ke spuštění konkrétního kódu, dokud není splněna určitá podmínka. Syntaxe whilesmyčky je:

 while (testExpression) ( // body of loop )

Tady,

  1. whileSmyčka vyhodnocuje textExpression uvnitř závorek ().
  2. Pokud se textExpression vyhodnotí true, provede se kód uvnitř whilesmyčky.
  3. TextExpression je opět vyhodnocen.
  4. Tento proces pokračuje, dokud textExpression je false.
  5. Když se textExpression vyhodnotí false, smyčka se zastaví.

Další informace o podmínkách najdete v relačních a logických operátorech Java.

Vývojový diagram smyčky while

Vývojový diagram smyčky Java while

Příklad 1: Zobrazení čísel od 1 do 5

 // 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++; ) ) )

Výstup

 1 2 3 4 5

Takto funguje tento program.

Opakování Variabilní Podmínka: i <= n Akce
1. místo i = 1
n = 5
true 1 je vytištěn.
i se zvýší na 2 .
2. místo i = 2
n = 5
true 2 je vytištěn.
i se zvýší na 3 .
3. místo i = 3
n = 5
true 3 je vytištěn.
i se zvýší na 4 .
4. místo i = 4
n = 5
true 4 je vytištěn.
i se zvýší na 5 .
5 i = 5
n = 5
true 5 je vytištěn.
i se zvýší na 6 .
6. i = 6
n = 5
false Smyčka je ukončena

Příklad 2: Součet pouze kladných čísel

 // 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(); ) )

Výstup

 Zadejte číslo 25 Zadejte číslo 9 Zadejte číslo 5 Zadejte číslo -3 Součet = 39

Ve výše uvedeném programu jsme k převzetí vstupu od uživatele použili třídu Scanner. Zde nextInt()převezme celočíselný vstup od uživatele.

whileSmyčka pokračuje, dokud uživatel zadá číslo negativní. Během každé iterace se do sumproměnné přidá číslo zadané uživatelem .

Když uživatel zadá záporné číslo, smyčka se ukončí. Nakonec se zobrazí celková částka.

Java dělá … zatímco smyčka

do… whileSmyčka je podobný while. Tělo do… whilesmyčky se však provede jednou před kontrolou testovacího výrazu. Například,

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

Tady,

  1. Nejprve se provede tělo smyčky. Poté se vyhodnotí textExpression .
  2. Pokud se textExpression vyhodnotí na true, tělo smyčky uvnitř dopříkazu se provede znovu.
  3. TextExpression je hodnocena ještě jednou.
  4. Pokud se textExpression vyhodnotí na true, tělo smyčky uvnitř dopříkazu se provede znovu.
  5. Tento proces pokračuje, dokud se textExpression nevyhodnotí false. Poté se smyčka zastaví.

Vývojový diagram smyčky do … while

Vývojový diagram Java dělat smyčku while

Let's see the working of do… while loop.

Example 3: Display Numbers from 1 to 5

 // 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); ) )

Output

 1 2 3 4 5

Here is how this program works.

Iteration Variable Condition: i <= n Action
i = 1
n = 5
not checked 1 is printed.
i is increased to 2.
1st i = 2
n = 5
true 2 is printed.
i is increased to 3.
2nd i = 3
n = 5
true 3 is printed.
i is increased to 4.
3rd i = 4
n = 5
true 4 is printed.
i is increased to 5.
4th i = 5
n = 5
true 6 is printed.
i is increased to 6.
5th i = 6
n = 5
false The loop is terminated

Example 4: Sum of Positive Numbers

 // 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(); ) )

Output 1

 Enter a number 25 Enter a number 9 Enter a number 5 Enter a number -3 Sum = 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

forSmyčka se používá, když je známo, počet iterací. Například,

 for (let i = 1; i <=5; ++i) ( // body of loop )

A whilea do… whilesmyčky jsou obvykle používány, když je počet iterací je neznámá. Například,

 while (condition) ( // body of loop )

Zajímavé články...