I denne vejledning lærer vi, hvordan du bruger mens og gør mens du løber i Java ved hjælp af eksempler.
I computerprogrammering bruges sløjfer til at gentage en blok kode. Hvis du f.eks. Vil vise en besked 100 gange, kan du bruge en loop. Det er bare et simpelt eksempel; du kan opnå meget mere med sløjfer.
I den foregående vejledning lærte du om Java til loop. Her skal du lære om whileog do… whilesløjfer.
Java mens loop
Java- whileloop bruges til at køre en bestemt kode, indtil en bestemt betingelse er opfyldt. Sløjfens syntaks whileer:
while (testExpression) ( // body of loop )
Her,
- En
whilesløjfe evaluerer tekstekspression inden for parentesen(). - Hvis textExpression evalueres til
true,whileudføres koden inde i sløjfen. - Den textExpression igen evalueret.
- Denne proces fortsætter, indtil textExpression er
false. - Når textExpression vurderes til
false, stopper sløjfen.
For at lære mere om betingelserne, besøg Java relationelle og logiske operatører.
Flowchart af mens loop
Flowchart of Java while loop
Eksempel 1: Vis numre fra 1 til 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++; ) ) )
Produktion
1 2 3 4 5
Sådan fungerer dette program.
| Iteration | Variabel | Betingelse: i <= n | Handling |
|---|---|---|---|
| 1. | i = 1n = 5 | true | 1 er trykt. jeg øges til 2 . |
| 2. plads | i = 2n = 5 | true | 2 er trykt. jeg øges til 3 . |
| 3. | i = 3n = 5 | true | 3 er trykt. jeg øges til 4 . |
| 4. plads | i = 4n = 5 | true | 4 er trykt. jeg øges til 5 . |
| 5. plads | i = 5n = 5 | true | 5 er trykt. jeg øges til 6 . |
| 6. | i = 6n = 5 | false | Sløjfen er afsluttet |
Eksempel 2: Kun summen af positive tal
// 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(); ) )
Produktion
Indtast et nummer 25 Indtast et tal 9 Indtast et tal 5 Indtast et tal -3 Sum = 39
I ovenstående program har vi brugt Scanner-klassen til at tage input fra brugeren. Her nextInt()tager det heltal input fra brugeren.
Den whileløkke fortsætter, indtil brugeren indtaster et negativt tal. Under hver iteration føjes det antal, der er indtastet af brugeren, til sumvariablen.
Når brugeren indtaster et negativt tal, afsluttes sløjfen. Endelig vises den samlede sum.
Java gør … mens sløjfe
Den do… whileløkke ligner mens løkke. do… whileLoop- kroppen udføres dog en gang, før testudtrykket kontrolleres. For eksempel,
do ( // body of loop ) while(textExpression)
Her,
- Sløjfens krop udføres først. Derefter evalueres textExpression .
- Hvis textExpression evalueres til
true,doudføres sløjfekroppen inde i sætningen igen. - Den textExpression evalueres igen.
- Hvis textExpression evalueres til
true,doudføres sløjfekroppen inde i sætningen igen. - Denne proces fortsætter, indtil textExpression vurderes til
false. Så stopper løkken.
Flowchart of do … while loop
Flowchart of Java do while loop
Lad os se, hvordan do… whilesløjfen fungerer .
Eksempel 3: Vis numre fra 1 til 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); ) )
Produktion
1 2 3 4 5
Sådan fungerer dette program.
| Iteration | Variabel | Betingelse: i <= n | Handling |
|---|---|---|---|
i = 1n = 5 | ikke markeret | 1 er trykt. jeg øges til 2 . |
|
| 1. | i = 2n = 5 | true | 2 er trykt. jeg øges til 3 . |
| 2. plads | i = 3n = 5 | true | 3 er trykt. jeg øges til 4 . |
| 3. | i = 4n = 5 | true | 4 er trykt. jeg øges til 5 . |
| 4. plads | i = 5n = 5 | true | 6 er trykt. jeg øges til 6 . |
| 5. plads | i = 6n = 5 | false | Sløjfen er afsluttet |
Eksempel 4: Summen af positive tal
// 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(); ) )
Udgang 1
Indtast et nummer 25 Indtast et tal 9 Indtast et tal 5 Indtast et tal -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
Den forløkke anvendes, når antallet af iterationer er kendt. For eksempel,
for (let i = 1; i <=5; ++i) ( // body of loop )
Og whileog do… whilesløjfer anvendes generelt, når antallet af iterationer er ukendt. For eksempel,
while (condition) ( // body of loop )








