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.


2
Opgave
Java Syntax,  niveaulektie
Låst
Cat's finalize method
It's difficult to accidentally lose an object: as long as you have even one reference to an object, it remains alive. But if not, then the object is approached by the finalize method, an unpredictable assassin that works for the Java machine. Let's create this method ourselves: protected void finalize() throws Throwable. The last two words will become clear a little later.