1. Omvänd slinga
Java har en annan typ av while
loop - loopen do-while
. Den är väldigt lik den vanliga while
slingan och består också av bara två delar: ett "villkor" och en "slingkropp". Slingkroppen exekveras om och om igen så länge villkoret är true
. I allmänhet do-while
ser en slinga ut så här:
do
statement;
while (condition);
eller
do
{
block of statements
}
while (condition);
För en while
loop är exekveringssekvensen: condition , loop body , condition , loop body , condition , loop body , ...
Men för en do-while
slinga är det något annorlunda: loop body , condition , loop body , condition , loop body , ...
Faktum är att den enda skillnaden mellan en while
loop och do-while
loop är det faktum att loopkroppen exekveras minst en gång för en do-while
loop.
2. Fördelar med att använda en do-while
slinga
I grund och botten är den enda skillnaden mellan en do-while
loop och en while
loop att kroppen av en do-while
loop exekveras minst en gång.
I allmänhet används en do-while
loop när det inte är meningsfullt att kontrollera loopens tillstånd om loopkroppen inte har exekveras. Till exempel om vissa beräkningar utförs i loopkroppen och sedan används i villkoret .
Exempel:
Programmet läser rader från tangentbordet tills ordet exit
matas in
medan | göra medan |
---|---|
|
|
och break
- continue
satserna i en do-while
loop fungerar på samma sätt som i en while
loop.
3. Jämföra do-while
loopar: Java vs Pascal
Återigen har Pascal en analog till slingan do-while
, men den kallas en repeat-until
slinga. Dessutom skiljer den sig något från slingan do-while
. I en repeat-until
slinga anger villkoret när slingan ska lämnas snarare än när den ska fortsätta.
Exempel:
Pascal | Java |
---|---|
|
|
Jämfört med Java är sättet som Pascal representerar detta på rent ut sagt vackert. Vi måste börja med exempel från Pascal, annars skrattar du.
GO TO FULL VERSION