Selles õpetuses õpime näidete abil Java-funktsiooni while ja do while kasutamist.
Arvuti programmeerimisel kasutatakse tsükleid koodiploki kordamiseks. Näiteks kui soovite sõnumit näidata 100 korda, saate kasutada tsüklit. See on lihtsalt lihtne näide; silmustega saate saavutada palju rohkem.
Eelmises õpetuses õppisite Java for loopi. Siit saate teada whileja tutvuda do… while.
Java silmuse ajal
Java- whilesilmust kasutatakse konkreetse koodi käivitamiseks, kuni teatud tingimus on täidetud. whileSilmuse süntaks on:
while (testExpression) ( // body of loop )
Siin,
whileLoop hindab textExpression sulgudes().- Kui textExpression hindab
true,whilekäivitatakse tsükli sees olev kood . - TextExpression hinnatakse uuesti.
- See protsess kestab seni, kuni textExpression on
false. - Kui textExpression annab väärtuseks
false, peatub silmus.
Tingimuste kohta lisateabe saamiseks külastage Java relatsiooni- ja loogikaoperaatoreid.
Silmuse vooskeem
Java vooskeem loopi ajal
Näide 1: kuvage numbrid vahemikus 1 kuni 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äljund
1 2 3 4 5
See programm töötab nii.
| Kordus | Muutuv | Tingimus: i <= n | Tegevus |
|---|---|---|---|
| 1. | i = 1n = 5 | true | 1 on trükitud. i suurendatakse väärtuseni 2 . |
| 2 | i = 2n = 5 | true | 2 on trükitud. i suurendatakse 3-ni . |
| 3 | i = 3n = 5 | true | 3 on trükitud. i suurendatakse 4-ni . |
| 4 | i = 4n = 5 | true | 4 on trükitud. i suurendatakse 5-ni . |
| 5 | i = 5n = 5 | true | 5 on trükitud. i suurendatakse 6-ni . |
| 6 | i = 6n = 5 | false | Silmus on lõpetatud |
Näide 2: ainult positiivsete arvude summa
// 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äljund
Sisestage number 25 Sisestage number 9 Sisestage number 5 Sisestage number -3 Summa = 39
Eespool nimetatud programmis oleme kasutanud kasutajalt sisendi saamiseks klassi Scanner. Siin nextInt()võtab kasutaja täisarvu sisendi.
whileLoop seni, kuni kasutaja sisestab negatiivse numbriga. Iga iteratsiooni ajal lisatakse summuutujale kasutaja sisestatud number .
Kui kasutaja sisestab negatiivse arvu, lõpeb silmus. Lõpuks kuvatakse kogu summa.
Java teeb … silmuse ajal
do… whileLoop sarnaneb samas silmus. Kuid do… whilesilmusekeha täidetakse üks kord enne testi avaldise kontrollimist. Näiteks,
do ( // body of loop ) while(textExpression)
Siin,
- Esmalt täidetakse silmuse keha. Seejärel hinnatakse tekstiExpression .
- Kui textExpression hindab
true,dokäivitatakse lause sees olev silmus keha uuesti. - TextExpression hinnatakse taas.
- Kui textExpression hindab
true,dokäivitatakse lause sees olev silmus keha uuesti. - See protsess kestab seni, kuni textExpression annab sellele hinnangu
false. Siis silmus peatub.
Voo diagramm do… while loopist
Java vooskeem teeb silmust
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 = 1n = 5 | not checked | 1 is printed. i is increased to 2. |
|
| 1st | i = 2n = 5 | true | 2 is printed. i is increased to 3. |
| 2nd | i = 3n = 5 | true | 3 is printed. i is increased to 4. |
| 3rd | i = 4n = 5 | true | 4 is printed. i is increased to 5. |
| 4th | i = 5n = 5 | true | 6 is printed. i is increased to 6. |
| 5th | i = 6n = 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
forLoop kasutatakse siis, kui korduste arv on teada. Näiteks,
for (let i = 1; i <=5; ++i) ( // body of loop )
Ja whileja do… whiletsükleid kasutatakse tavaliselt siis, kui korduste arv pole teada. Näiteks,
while (condition) ( // body of loop )








