Java zatiaľ čo a robiť ... zatiaľ čo Loop

V tomto tutoriále sa pomocou príkladov naučíme používať slučku while a do while v Jave.

V počítačovom programovaní sa slučky používajú na opakovanie bloku kódu. Napríklad, ak chcete správu zobraziť stokrát, môžete použiť slučku. Je to len jednoduchý príklad; pomocou slučiek môžete dosiahnuť oveľa viac.

V predchádzajúcom tutoriáli ste sa dozvedeli o prostredí Java for loop. Tu sa budete učiť whilea robiť do… whilecykly.

Smyčka Java while

whileSmyčka Java sa používa na spustenie konkrétneho kódu, kým nie je splnená určitá podmienka. Syntax whileslučky je:

 while (testExpression) ( // body of loop )

Tu,

  1. whileSlučka vyhodnocuje textExpression vnútri zátvoriek ().
  2. Ak textExpression vyhodnotí true, whilevykoná sa kód vo vnútri slučky.
  3. TextExpression je opäť vyhodnotený.
  4. Tento proces pokračuje, kým textExpression je false.
  5. Keď sa vyhodnotí textExpressionfalse , slučka sa zastaví.

Ak sa chcete dozvedieť viac informácií o podmienkach, navštívte relačné a logické operátory Java.

Vývojový diagram cyklu while

Vývojový diagram cyklu while while

Príklad 1: Zobrazenie čí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ýkon

 1 2 3 4 5

Takto funguje tento program.

Iterácia Variabilné Podmienka: i <= n Akcia
1 i = 1
n = 5
true 1 je vytlačený.
i sa zvyšuje na 2 .
2 i = 2
n = 5
true 2 je vytlačený.
i sa zvyšuje na 3 .
3 i = 3
n = 5
true 3 je vytlačený.
i je zvýšené na 4 .
4 i = 4
n = 5
true 4 je vytlačený.
i je zvýšené na 5 .
5 i = 5
n = 5
true 5 je vytlačený.
i je zvýšené na 6 .
6. i = 6
n = 5
false Slučka je ukončená

Príklad 2: Súčet iba 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ýkon

 Zadajte číslo 25 Zadajte číslo 9 Zadajte číslo 5 Zadajte číslo -3 Súčet = 39

Vo vyššie uvedenom programe sme na získanie vstupu od používateľa použili triedu Scanner. Tu nextInt()prevezme celočíselný vstup od používateľa.

whileSlučka pokračuje, kým používateľ zadá číslo negatívny. Počas každej iterácie sa do sumpremennej pridá číslo zadané používateľom .

Keď užívateľ zadá záporné číslo, slučka sa ukončí. Nakoniec sa zobrazí celková suma.

Java robí … zatiaľ čo slučka

do… whileSlučka je podobný while. Telo do… whileslučky sa však vykoná raz pred kontrolou testovacieho výrazu. Napríklad,

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

Tu,

  1. Najskôr sa vykoná telo slučky. Potom sa vyhodnotí textový výraz .
  2. Ak textExpression vyhodnotí ako true, telo slučky vo vnútri dopríkazu sa vykoná znova.
  3. TextExpression je hodnotená ešte raz.
  4. Ak textExpression vyhodnotí ako true, telo slučky vo vnútri dopríkazu sa vykoná znova.
  5. Tento proces pokračuje, kým sa textExpression nevyhodnotí ako false. Potom sa slučka zastaví.

Vývojový diagram slučky do … while

Vývojový diagram jazyka Java robiť while

Pozrime sa na fungovanie do… whileslučky.

Príklad 3: Zobrazenie čísel od 1 do 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); ) )

Výkon

 1 2 3 4 5

Takto funguje tento program.

Iterácia Variabilné Podmienka: i <= n Akcia
i = 1
n = 5
nekontrolované 1 je vytlačený.
i sa zvyšuje na 2 .
1 i = 2
n = 5
true 2 je vytlačený.
i sa zvyšuje na 3 .
2 i = 3
n = 5
true 3 je vytlačený.
i je zvýšené na 4 .
3 i = 4
n = 5
true 4 je vytlačený.
i je zvýšené na 5 .
4 i = 5
n = 5
true 6 je vytlačený.
i je zvýšené na 6 .
5 i = 6
n = 5
false Slučka je ukončená

Príklad 4: Súčet 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; 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(); ) )

Výstup 1

 Zadajte číslo 25 Zadajte číslo 9 Zadajte číslo 5 Zadajte číslo -3 Súčet = 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

forSlučka sa používa, keď je známe, počet iterácií. Napríklad,

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

A whilea do… whileslučky sa zvyčajne používajú, keď nie je známy počet iterácií. Napríklad,

 while (condition) ( // body of loop )

Zaujímavé články...