I den här handledningen lär vi oss hur man använder medan och gör medan loop i Java med hjälp av exempel.
Vid datorprogrammering används slingor för att upprepa ett kodblock. Om du till exempel vill visa ett meddelande 100 gånger kan du använda en loop. Det är bara ett enkelt exempel; du kan uppnå mycket mer med öglor.
I föregående handledning lärde du dig om Java för loop. Här ska du lära dig mer om while
och do… while
loopar.
Java medan loop
Java- while
loop används för att köra en specifik kod tills ett visst villkor är uppfyllt. Slingans syntax while
är:
while (testExpression) ( // body of loop )
Här,
- En
while
slinga utvärderar textuttrycket inom parentesen()
. - Om textExpression utvärderas till körs
true
koden inutiwhile
slingan. - Den textExpression utvärderas på nytt.
- Denna process fortsätter tills textExpression är
false
. - När textExpression utvärderas till
false
, slutar slingan.
För att lära dig mer om villkoren, besök Java relations- och logiska operatörer.
Flödesschema för medan slinga
Flödesschema över Java medan loopExempel 1: Visa nummer från 1 till 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å här fungerar det här programmet.
Iteration | Variabel | Villkor: i <= n | Handling |
---|---|---|---|
1: a | i = 1 n = 5 | true | 1 är tryckt. i ökas till 2 . |
2: a | i = 2 n = 5 | true | 2 är tryckt. i ökas till 3 . |
3: e | i = 3 n = 5 | true | 3 är tryckt. i ökas till 4 . |
4: e | i = 4 n = 5 | true | 4 är tryckt. i ökas till 5 . |
5: e | i = 5 n = 5 | true | 5 är tryckt. i ökas till 6 . |
6: e | i = 6 n = 5 | false | Slingan avslutas |
Exempel 2: Endast summan av positiva siffror
// 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
Ange ett nummer 25 Ange ett nummer 9 Ange ett nummer 5 Ange ett nummer -3 Summa = 39
I programmet ovan har vi använt Scanner-klassen för att ta in input från användaren. Här nextInt()
tar heltalsinmatning från användaren.
Den while
fortsätter slingan tills användaren anger ett negativt tal. Under varje iteration läggs numret in av användaren till sum
variabeln.
När användaren anger ett negativt tal avslutas slingan. Slutligen visas den totala summan.
Java gör … medan loop
Den do… while
slingan liknar medan slinga. Emellertid do… while
körs slingan en gång innan testuttrycket kontrolleras. Till exempel,
do ( // body of loop ) while(textExpression)
Här,
- Slingans kropp körs först. Sedan utvärderas textuttrycket .
- Om textExpression utvärderas till
true
, körs kroppen av slingan inutido
uttalandet igen. - Den textExpression utvärderas igen.
- Om textExpression utvärderas till
true
, körs kroppen av slingan inutido
uttalandet igen. - Denna process fortsätter tills textExpression utvärderas till
false
. Sedan slutar slingan.
Flödesschema över do … while loop
Flödesschema för Java gör medan loopLåt oss se hur do… while
slingan fungerar .
Exempel 3: Visa nummer från 1 till 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å här fungerar det här programmet.
Iteration | Variabel | Villkor: i <= n | Handling |
---|---|---|---|
i = 1 n = 5 | inte kontrollerad | 1 är tryckt. i ökas till 2 . |
|
1: a | i = 2 n = 5 | true | 2 är tryckt. i ökas till 3 . |
2: a | i = 3 n = 5 | true | 3 är tryckt. i ökas till 4 . |
3: e | i = 4 n = 5 | true | 4 är tryckt. i ökas till 5 . |
4: e | i = 5 n = 5 | true | 6 är tryckt. i ökas till 6 . |
5: e | i = 6 n = 5 | false | Slingan avslutas |
Exempel 4: Summan av positiva siffror
// 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(); ) )
Utgång 1
Ange ett nummer 25 Ange ett nummer 9 Ange ett nummer 5 Ange ett nummer -3 Summa = 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
slinga används när antalet iterationer är känd. Till exempel,
for (let i = 1; i <=5; ++i) ( // body of loop )
Och while
och do… while
slingor används vanligtvis när antalet iterationer är okänt. Till exempel,
while (condition) ( // body of loop )