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 while
ja tutvuda do… while
.
Java silmuse ajal
Java- while
silmust kasutatakse konkreetse koodi käivitamiseks, kuni teatud tingimus on täidetud. while
Silmuse süntaks on:
while (testExpression) ( // body of loop )
Siin,
while
Loop hindab textExpression sulgudes()
.- Kui textExpression hindab
true
,while
kä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

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 = 1 n = 5 | true | 1 on trükitud. i suurendatakse väärtuseni 2 . |
2 | i = 2 n = 5 | true | 2 on trükitud. i suurendatakse 3-ni . |
3 | i = 3 n = 5 | true | 3 on trükitud. i suurendatakse 4-ni . |
4 | i = 4 n = 5 | true | 4 on trükitud. i suurendatakse 5-ni . |
5 | i = 5 n = 5 | true | 5 on trükitud. i suurendatakse 6-ni . |
6 | i = 6 n = 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.
while
Loop seni, kuni kasutaja sisestab negatiivse numbriga. Iga iteratsiooni ajal lisatakse sum
muutujale kasutaja sisestatud number .
Kui kasutaja sisestab negatiivse arvu, lõpeb silmus. Lõpuks kuvatakse kogu summa.
Java teeb … silmuse ajal
do… while
Loop sarnaneb samas silmus. Kuid do… while
silmusekeha 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
,do
käivitatakse lause sees olev silmus keha uuesti. - TextExpression hinnatakse taas.
- Kui textExpression hindab
true
,do
kä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

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
for
Loop kasutatakse siis, kui korduste arv on teada. Näiteks,
for (let i = 1; i <=5; ++i) ( // body of loop )
Ja while
ja do… while
tsükleid kasutatakse tavaliselt siis, kui korduste arv pole teada. Näiteks,
while (condition) ( // body of loop )