1. Omvendt sløyfe

Java har en annen type whileloop - loopen do-while. Den er veldig lik den vanlige whilesløyfen og består også av bare to deler: en "tilstand" og en "løkkekropp". Løkkekroppen utføres om og om igjen så lenge tilstanden er true. Generelt do-whileser en løkke slik ut:

do
   statement;
while (condition);

eller

do
{
   block of statements
}
while (condition);

For en whilesløyfe er utførelsessekvensen: betingelse , loop body , condition , loop body , condition , loop body , ...

Men for en do-whileløkke er det litt annerledes: løkkelegeme , tilstand , løkkelegeme , tilstand , løkkelegeme , ...

Faktisk er den eneste forskjellen mellom en whilesløyfe og do-whilesløyfe det faktum at sløyfekroppen utføres minst én gang for en do-whilesløyfe.


2. Fordeler med å bruke en do-whileløkke

I utgangspunktet er den eneste forskjellen mellom en do-whileløkke og en whileløkke at kroppen til en do-whileløkke utføres minst én gang.

Vanligvis brukes en do-whilesløyfe når det ikke gir mening å sjekke sløyfetilstanden hvis sløyfekroppen ikke har blitt utført. For eksempel hvis visse beregninger utføres i sløyfekroppen og deretter brukes i tilstanden .

Eksempel:

Programmet leser linjer fra tastaturet til ordet exitskrives inn

samtidig som gjør mens
String s;
while (true)
{
   s = console.nextLine();
   if (s.equals("exit"))
      break;
}
String s;
do
{
   s = console.nextLine();
}
while (!s.equals("exit"));

Utsagnene breakog continuei en do-whileloop fungerer på samme måte som i en whileloop.


3. Sammenligning av do-whilelooper: Java vs Pascal

Nok en gang har Pascal en analog av loopen do-while, men den kalles en repeat-untilloop. Dessuten er den litt forskjellig fra do-whileløkken. I en repeat-untilløkke angir tilstanden når løkken skal gå ut i stedet for når den skal fortsettes.

Eksempler:

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

Sammenlignet med Java er måten Pascal representerer dette rett og slett vakkert på. Vi må begynne med eksempler fra Pascal, ellers ler du.


2
Oppgave
Java Syntax,  nivålekse
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.