Sløjfer i Java kommer i brug, når vi gentagne gange skal udføre en blok af udsagn. Java gør-mens-løkke er en Afslut kontrolsløjfe . Derfor i modsætning til til eller mens loop, en do-while-kontrol for tilstanden efter udførelse af sætningerne i loop-kroppen.
Syntaks:
do { // Loop Body Update_expression } // Condition check while (test_expression);> Bemærk: Det test_udtryk for gør-mens-løkken skal returnere en boolesk værdi , ellers ville vi få kompileringstidsfejl.
Anvendelse af gør-mens: Dens eksempelapplikation viser en slags menu til brugerne.
For eksempel:
Du implementerer et spil, hvor du viser nogle muligheder for brugeren, tryk på 1 for at gøre dette .., tryk på 2 for at gøre dette .. osv. og tryk på 'Q' for at afslutte spillet. Så her vil du gerne vise spilmenuen til brugeren mindst én gang, så du skriver koden til spilmenuen inde i do-while loop.

Illustration:
Java
// Java Program to Illustrate One Time Iteration> // Inside do-while Loop> // When Condition IS Not Satisfied> // Class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// initial counter variable> >int> i =>0>;> >do> {> >// Body of loop that will execute minimum> >// 1 time for sure no matter what> >System.out.println(>'Print statement'>);> >i++;> >}> >// Checking condition> >// Note: It is being checked after> >// minimum 1 iteration> >while> (i <>0>);> >}> }> |
>
>Produktion
Print statement>
Output forklaring:
I ovenstående kode fandt vi ud af, at tilstanden kontrolleres senere, da kroppen inde vil blive udført én gang uden fejl, da tilstanden kontrolleres senere. Derfor, når vi ønsker at vise menuen og senere fortsætte kommandoen på terminalen, bruger vi altid do-while loop.
Komponenter af do-while loop
A. Testudtryk: I dette udtryk skal vi teste tilstanden. Hvis betingelsen evalueres til sand, vil vi udføre løkkens krop og gå til opdatering af udtryk. Ellers forlader vi while-løkken. For eksempel:
i <= 10>
B. Opdater udtryk : Efter eksekvering af loop-kroppen, øger/dekrementerer dette udtryk loop-variablen med en eller anden værdi. For eksempel:
i++;>
Udførelse af do-While loop
- Kontrol falder ind i do-while-løkken.
- Udsagn inde i løkkens krop bliver udført.
- Opdatering finder sted.
- Flow hopper til tilstand
- Tilstanden er testet.
- Hvis betingelsen viser sig at være sand, skal du gå til trin 6.
- Hvis Condition giver falsk, går flowet uden for sløjfen
- Flow går tilbage til trin 2.
Flowchart do-while loop:

Implementering:
Eksempel 1: Dette program vil forsøge at udskrive Hello World 5 gange.
Java
// Java Program to Illustrate Do-while Loop> // Class> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Declaring and initialization expression> >int> i =>1>;> >// Do-while loop> >do> {> >// Body of do-while loop> >// Print statement> >System.out.println(>'Hello World'>);> >// Update expression> >i++;> >}> >// Test expression> >while> (i <>6>);> >}> }> |
>
>Produktion:
Hello World Hello World Hello World Hello World Hello World>
Hjælpeplads: O(1)
Output forklaring:
Programmet vil køre på følgende måde:
- Programmet starter.
- i initialiseres med værdi 1.
- Udførelse går ind i løkken
- Hello World bliver trykt 1. gang.
- Opdatering er udført. Nu er jeg = 2.
- Tilstand er tjekket. 2 <6 giver sand.
- Udførelse går ind i løkken.
- Hello World bliver trykt 2. gang.
- Opdatering er udført. Nu er jeg = 3.
- Tilstand er tjekket. 3 <6 giver sand.
- Udførelse går ind i løkken
- Hello World bliver trykt 3. gang
- Opdatering er udført. Nu er jeg = 4.
- Tilstand er tjekket. 4 <6 giver sand.
- Udførelse går ind i løkken
- Hello World bliver trykt 4. gang
- Opdatering er udført. Nu er jeg = 5.
- Tilstand er tjekket. 5 <6 giver sand.
- Udførelse går ind i løkken
- Hello World bliver trykt 5. gang
- Opdatering er udført. Nu er jeg = 6.
- Tilstand er tjekket. 6 <6 giver falsk.
- Strømmen går uden for løkken.
Eksempel 2
Java
// Java Program to Illustrate Do-while Loop> // Class> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Declaring and initializing integer values> >int> x =>21>, sum =>0>;> >// Do-while loop> >do> {> >// Execution statements(Body of loop)> >// Here, the line will be printed even> >// if the condition is false> >sum += x;> >x--;> >}> >// Now checking condition> >while> (x>>10>);> >// Summing up> >System.out.println(>'Summation: '> + sum);> >}> }> |
>
>Produktion:
Summation: 176>
Eksempel 3: do-while-løkke uden krøllede seler {}
Java
/*package whatever //do not write package name here */> import> java.io.*;> class> GFG {> >public> static> void> main (String[] args) {> >int> i=>1>;> >do> >// only single statement in do block> >System.out.println(>'Hello GFG!'>);> >// this condition is false so only do block will execute> >while>(i>=>3>);> > > >}> }> |
>
windows.åbn javascript
>Produktion
Hello GFG!>
&list=PLqM7alHXFySF5ErEHA1BXgibGg7uqmA4_&ab_channel=techcodeview.com
Relaterede artikler:
- Sløjfer i Java
- Java til loop med eksempler
- Java mens loop med eksempler
- Forskellen mellem while og do-while loop i C, C++, Java
- Forskellen mellem for og do-while loop i C, C++, Java