Java mens og gjør ... mens Loop

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 whileog do… whilesløyfer.

Java mens loop

Java- whileloop brukes til å kjøre en bestemt kode til en viss betingelse er oppfylt. Syntaksen til whilesløyfen er:

 while (testExpression) ( // body of loop )

Her,

  1. En whilesløyfe evaluerer tekstuttrykket i parentesen ().
  2. Hvis textExpression evalueres til true, blir koden i whilesløyfen utført.
  3. Den textExpression vurderes på nytt.
  4. Denne prosessen fortsetter til textExpression er false.
  5. 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

Flytskjema over Java under løkke

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 whilesløyfen fortsetter inntil brukeren angir et negativt tall. Under hver iterasjon blir nummeret som er angitt av brukeren lagt til sumvariabelen.

Når brukeren skriver inn et negativt tall, avsluttes sløyfen. Til slutt vises totalsummen.

Java gjør … mens sløyfe

Den do… whilesløyfe er lik mens sløyfen. Imidlertid do… whileutføres kroppen av sløyfen en gang før testuttrykket blir sjekket. For eksempel,

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

Her,

  1. Sløyfens kropp utføres først. Deretter evalueres teksten Uttrykk .
  2. Hvis textExpression evalueres til true, blir kroppen av løkken inne i dosetningen utført på nytt.
  3. Den textExpression evalueres igjen.
  4. Hvis textExpression evalueres til true, blir kroppen av løkken inne i dosetningen utført på nytt.
  5. Denne prosessen fortsetter til textExpression evalueres til false. Så stopper løkken.

Flytskjema over gjør … mens sløyfe

Flytskjema av Java gjør mens sløyfe

La oss se hvordan do… whileslø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 forsløyfe brukes når antallet iterasjoner er kjent. For eksempel,

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

Og whileog do… whilesløyfer brukes vanligvis når antall iterasjoner er ukjent. For eksempel,

 while (condition) ( // body of loop )

Interessante artikler...