Java medan och gör ... medan Loop

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 whileoch do… whileloopar.

Java medan loop

Java- whileloop 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,

  1. En whileslinga utvärderar textuttrycket inom parentesen ().
  2. Om textExpression utvärderas till körstrue koden inuti whileslingan.
  3. Den textExpression utvärderas på nytt.
  4. Denna process fortsätter tills textExpression är false.
  5. 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 loop

Exempel 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 whilefortsätter slingan tills användaren anger ett negativt tal. Under varje iteration läggs numret in av användaren till sumvariabeln.

När användaren anger ett negativt tal avslutas slingan. Slutligen visas den totala summan.

Java gör … medan loop

Den do… whileslingan liknar medan slinga. Emellertid do… whilekörs slingan en gång innan testuttrycket kontrolleras. Till exempel,

 do ( // body of loop ) while(textExpression)

Här,

  1. Slingans kropp körs först. Sedan utvärderas textuttrycket .
  2. Om textExpression utvärderas till true, körs kroppen av slingan inuti douttalandet igen.
  3. Den textExpression utvärderas igen.
  4. Om textExpression utvärderas till true, körs kroppen av slingan inuti douttalandet igen.
  5. 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 loop

Låt oss se hur do… whileslingan 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 forslinga används när antalet iterationer är känd. Till exempel,

 for (let i = 1; i <=5; ++i) ( // body of loop )

Och whileoch do… whileslingor används vanligtvis när antalet iterationer är okänt. Till exempel,

 while (condition) ( // body of loop )

Intressanta artiklar...