I denne opplæringen vil vi lære hvordan du bruker mens og gjør mens du løper i Java ved hjelp av eksempler.
I dataprogrammering brukes sløyfer til å gjenta en blokk med kode. Hvis du for eksempel vil vise en melding 100 ganger, kan du bruke en sløyfe. Det er bare et enkelt eksempel; du kan oppnå mye mer med løkker.
I forrige opplæring lærte du om Java for loop. Her skal du lære om while
og do… while
sløyfer.
Java mens loop
Java- while
loop brukes til å kjøre en bestemt kode til en viss betingelse er oppfylt. Syntaksen til while
sløyfen er:
while (testExpression) ( // body of loop )
Her,
- En
while
sløyfe evaluerer tekstuttrykket i parentesen()
. - Hvis textExpression evalueres til
true
, blir koden iwhile
sløyfen utført. - Den textExpression vurderes på nytt.
- Denne prosessen fortsetter til textExpression er
false
. - Når textExpression vurderes til
false
, stopper løkken.
For å lære mer om forholdene, besøk Java relasjonelle og logiske operatører.
Flytskjema for mens sløyfe

Eksempel 1: Vis tall 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++; ) ) )
Produksjon
1 2 3 4 5
Slik fungerer dette programmet.
Iterasjon | Variabel | Tilstand: i <= n | Handling |
---|---|---|---|
Første | i = 1 n = 5 | true | 1 er trykt. jeg økes til 2 . |
2. plass | i = 2 n = 5 | true | 2 er trykt. jeg økes til 3 . |
3. | i = 3 n = 5 | true | 3 er trykt. jeg økes til 4 . |
4. plass | i = 4 n = 5 | true | 4 er trykt. jeg økes til 5 . |
5. | i = 5 n = 5 | true | 5 er trykt. jeg økes til 6 . |
Sjette | i = 6 n = 5 | false | Sløyfen er avsluttet |
Eksempel 2: Bare summen av positive tall
// 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(); ) )
Produksjon
Tast inn et tall 25 Tast inn et tall 9 Tast inn et tall 5 Tast inn et tall -3 Sum = 39
I programmet ovenfor har vi brukt skannerklassen til å ta input fra brukeren. Her nextInt()
tar det heltallinngang fra brukeren.
Den while
sløyfen fortsetter inntil brukeren angir et negativt tall. Under hver iterasjon blir nummeret som er angitt av brukeren lagt til sum
variabelen.
Når brukeren skriver inn et negativt tall, avsluttes sløyfen. Til slutt vises totalsummen.
Java gjør … mens sløyfe
Den do… while
sløyfe er lik mens sløyfen. Imidlertid do… while
utføres kroppen av sløyfen en gang før testuttrykket blir sjekket. For eksempel,
do ( // body of loop ) while(textExpression)
Her,
- Sløyfens kropp utføres først. Deretter evalueres teksten Uttrykk .
- Hvis textExpression evalueres til
true
, blir kroppen av løkken inne ido
setningen utført på nytt. - Den textExpression evalueres igjen.
- Hvis textExpression evalueres til
true
, blir kroppen av løkken inne ido
setningen utført på nytt. - Denne prosessen fortsetter til textExpression evalueres til
false
. Så stopper løkken.
Flytskjema over gjør … mens sløyfe

La oss se hvordan do… while
sløyfen fungerer .
Eksempel 3: Vis tall 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); ) )
Produksjon
1 2 3 4 5
Slik fungerer dette programmet.
Iterasjon | Variabel | Tilstand: i <= n | Handling |
---|---|---|---|
i = 1 n = 5 | ikke sjekket | 1 er trykt. jeg økes til 2 . |
|
Første | i = 2 n = 5 | true | 2 er trykt. jeg økes til 3 . |
2. plass | i = 3 n = 5 | true | 3 er trykt. jeg økes til 4 . |
3. | i = 4 n = 5 | true | 4 er trykt. jeg økes til 5 . |
4. plass | i = 5 n = 5 | true | 6 er trykt. jeg økes til 6 . |
5. | i = 6 n = 5 | false | Sløyfen er avsluttet |
Eksempel 4: Summen av positive tall
// 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(); ) )
Utgang 1
Tast inn et tall 25 Tast inn et tall 9 Tast inn et tall 5 Tast inn et tall -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 for
sløyfe brukes når antallet iterasjoner er kjent. For eksempel,
for (let i = 1; i <=5; ++i) ( // body of loop )
Og while
og do… while
sløyfer brukes vanligvis når antall iterasjoner er ukjent. For eksempel,
while (condition) ( // body of loop )