V tej vadnici se bomo s pomočjo primerov naučili, kako uporabljati zanko while in do while v Javi.
Pri računalniškem programiranju se zanke uporabljajo za ponovitev bloka kode. Če želite na primer sporočilo prikazati 100-krat, lahko uporabite zanko. To je le preprost primer; z zankami lahko dosežete veliko več.
V prejšnji vadnici ste izvedeli več o zanki Java for. Tukaj boste spoznali whilein do… whilezanke.
Zanka Java while
whileZanka Java se uporablja za izvajanje določene kode, dokler ni izpolnjen določen pogoj. Sintaksa whilezanke je:
while (testExpression) ( // body of loop )
Tukaj,
whileZanka ocenjuje textExpression znotraj oklepaju().- Če textExpression oceni na
true, se izvede koda znotrajwhilezanke. - Izraz textExpression se ponovno oceni.
- Ta proces se nadaljuje, dokler textExpression je
false. - Ko textExpression oceni na
false, se zanka ustavi.
Če želite izvedeti več o pogojih, obiščite relacijske in logične operaterje Java.
Diagram poteka zanke while
Diagram poteka v zanki while
Primer 1: Prikaži številke 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++; ) ) )
Izhod
1 2 3 4 5
Tukaj je opisano, kako deluje ta program.
| Ponavljanje | Spremenljiv | Stanje: i <= n | Ukrepanje |
|---|---|---|---|
| 1. | i = 1n = 5 | true | 1 je natisnjen. i se poveča na 2 . |
| 2. | i = 2n = 5 | true | 2 je natisnjen. i se poveča na 3 . |
| 3. | i = 3n = 5 | true | 3 je natisnjen. i se poveča na 4 . |
| 4. | i = 4n = 5 | true | 4 je natisnjen. i se poveča na 5 . |
| 5. | i = 5n = 5 | true | 5 je natisnjeno. i se poveča na 6 . |
| 6. | i = 6n = 5 | false | Zanka je prekinjena |
Primer 2: Vsota samo pozitivnih števil
// 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(); ) )
Izhod
Vnesite številko 25 Vnesite številko 9 Vnesite številko 5 Vnesite številko -3 Vsota = 39
V zgornjem programu smo uporabili razred Scanner, da uporabnik vnese podatke. Tu nextInt()je uporabnik vnesel celo število.
whileZanka se nadaljuje, dokler uporabnik ne vnese z negativnim predznakom. Med vsako ponovitvijo se sumspremenljivki doda številka, ki jo vnese uporabnik .
Ko uporabnik vnese negativno število, se zanka konča. Na koncu se prikaže skupna vsota.
Java do … while zanka
do… whileZanka je podobna while. Vendar se telo do… whilezanke izvede enkrat, preden se preveri testni izraz. Na primer
do ( // body of loop ) while(textExpression)
Tukaj,
- Telo zanke se najprej izvede. Nato se oceni izraz textExpression .
- Če textExpression oceni na
true, se telo zanke znotrajdostavka znova izvede. - Izraz textExpression se ponovno oceni.
- Če textExpression oceni na
true, se telo zanke znotrajdostavka znova izvede. - Ta postopek se nadaljuje, dokler textExpression ne oceni na
false. Nato se zanka ustavi.
Diagram poteka zanke do… while
Diagram poteka Java, medtem ko zanko
Poglejmo, kako deluje do… whilezanka.
Primer 3: Prikaz številk 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); ) )
Izhod
1 2 3 4 5
Tukaj je opisano, kako deluje ta program.
| Ponavljanje | Spremenljiv | Stanje: i <= n | Ukrepanje |
|---|---|---|---|
i = 1n = 5 | ni preverjeno | 1 je natisnjen. i se poveča na 2 . |
|
| 1. | i = 2n = 5 | true | 2 je natisnjen. i se poveča na 3 . |
| 2. | i = 3n = 5 | true | 3 je natisnjen. i se poveča na 4 . |
| 3. | i = 4n = 5 | true | 4 je natisnjen. i se poveča na 5 . |
| 4. | i = 5n = 5 | true | 6 je natisnjeno. i se poveča na 6 . |
| 5. | i = 6n = 5 | false | Zanka je prekinjena |
Primer 4: Vsota pozitivnih števil
// 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(); ) )
Izhod 1
Vnesite številko 25 Vnesite številko 9 Vnesite številko 5 Vnesite številko -3 Vsota = 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
forZanka se uporablja, ko je znano, se je število iteracij. Na primer
for (let i = 1; i <=5; ++i) ( // body of loop )
Zanke in whilein do… whilese običajno uporabljajo, kadar število ponovitev ni znano. Na primer
while (condition) ( // body of loop )








