Video: S3 E17 AVOIDANCE Where are you doing it? What can you choose to change it? 2025
Hvis du var fast på en ørken Java-ø med kun en slags løkke, hvilken slags vil du have? Svaret er, du kan komme sammen med enhver form for loop. Valget mellem en
mens
sløjfe og en
til
sløjfen handler om kodens stil og effektivitet. Det handler ikke om nødvendighed.
Alt hvad du kan gøre med en
til
loop, kan du også gøre med en
mens
sløjfe. Overvej f.eks. Denne
fo
r loop. Sådan kan du opnå samme effekt med en
mens
loop:
int tæller = 0;
mens (tæl <10 ) {
ud. print ("jeg har tygget");
ud. print (count);
ud. println ("tid (er).");
count ++;
}
I
mens
-sløjfen har du udtrykkelige udsagn til at erklære, initialisere og øge variablen
tæller
.
Den samme slags trick virker i omvendt. Alt, hvad du kan gøre med en
mens
loop, kan du også gøre med en
til
loop. Men at vende visse
mens
sløjfer ind i
til
sløjfer virker spændte og unaturlige. Overvej dette
mens
loop:
mens (totalt <21) {
kort = myRandom. nextInt (10) + 1;
totalt + = kort;
System. ud. print (kort);
System. ud. Print(" ");
System. ud. println (i alt);
}
Ved at slå denne sløjfe til en
til
sløjfe, slettes det meste af indholdet inde i
til
sløjfeens parenteser:
for (; total <21;) {
kort = myRandom. nextInt (10) + 1;
totalt + = kort;
System. ud. print (kort);
System. ud. Print(" ");
System. ud. println (i alt);
}
Den foregående
til
sløjfe er en betingelse, men den har ingen initialisering og ingen opdatering. Det er okay. Uden en initialisering sker der ikke noget særligt, når computeren først går ind i
til
sløjfen. Og uden en opdatering sker der ikke noget særligt i slutningen af hver iteration. Det er mærkeligt, men det virker.
Normalt, når du skriver en
til
erklæring, tæller du, hvor mange gange du gentager noget. Men i sandhed kan du gøre næsten enhver form for gentagelse med en
til
erklæring.