1. Omvendt sløjfe

Java har en anden slags whileloop - loopen do-while. Den minder meget om den almindelige whileløkke og består også kun af to dele: en "tilstand" og en "løkkelegeme". Løkkelegemet udføres igen og igen, så længe betingelsen er true. Generelt do-whileser en løkke sådan ud:

do
   statement;
while (condition);

eller

do
{
   block of statements
}
while (condition);

For en whilesløjfe er udførelsessekvensen: betingelse , loop body , condition , loop body , condition , loop body , ...

Men for en do-whilesløjfe er det lidt anderledes: loop body , condition , loop body , condition , loop body , ...

Faktisk er den eneste forskel mellem en whileløkke og do-whileen løkke, at løkkelegemet udføres mindst én gang for en do-whileløkke.


2. Fordele ved at bruge en do-whileløkke

Grundlæggende er den eneste forskel mellem en do-whileloop og en whileloop, at kroppen af ​​en do-whileloop udføres mindst én gang.

do-whileGenerelt bruges en loop, når det ikke giver mening at kontrollere loop-tilstanden, hvis loop-kroppen ikke er blevet udført. For eksempel, hvis visse beregninger udføres i løkkelegemet og derefter bruges i betingelsen .

Eksempel:

Programmet læser linjer fra tastaturet, indtil ordet exitindtastes

mens gøre imens
String s;
while (true)
{
   s = console.nextLine();
   if (s.equals("exit"))
      break;
}
String s;
do
{
   s = console.nextLine();
}
while (!s.equals("exit"));

Udsagn breakog continuei en do-whileloop fungerer på samme måde som i en whileloop.


3. Sammenligning af do-whileloops: Java vs Pascal

Endnu en gang har Pascal en analog af do-whileløkken, men den kaldes en repeat-untilløkke. Det er også lidt anderledes end løkken do-while. I en repeat-untilløkke angiver betingelsen, hvornår løkken skal forlades, snarere end hvornår den skal fortsættes.

Eksempler:

Pascal Java
 
Repeat
   ReadLn(s);
Until s = 'exit';
 
String s;
do {
   s = console.nextLine();
}
while ( !s.equals("exit") );

Sammenlignet med Java er den måde, Pascal repræsenterer dette på, direkte smuk. Vi skal starte med eksempler fra Pascal, ellers griner du.