1. break
verklaring
Laten we eens kijken naar een voorbeeld uit de vorige les:
Code | Uitleg |
---|---|
|
Het programma leest een regel van het toetsenbord totdat u invoert "exit" . |
Het programma leest regels van de console totdat het woord exit
is ingevoerd. Als u dit woord invoert, isExit
wordt de variabele , wordt true
de lusvoorwaarde en eindigt de lus."!isExit
false
Java heeft een speciale break
instructie waarmee u dergelijke logica kunt vereenvoudigen. Als een break
instructie binnen een lus wordt uitgevoerd, eindigt de lus onmiddellijk. Het programma begint met het uitvoeren van de instructie die volgt op de lus. De verklaring is zeer summier:
break;
Zo kun je de break
instructie gebruiken om het zojuist besproken voorbeeld te herschrijven:
Code | Uitleg |
---|---|
|
Het programma leest een regel van het toetsenbord totdat u invoert "exit" . |
2. verklaring voortzetten
Maar break
is niet de enige Java-instructie waarmee u het gedrag van een lus kunt regelen. Java heeft ook de continue
verklaring. Als u een continue
instructie binnen een lus uitvoert, eindigt de huidige iteratie van de lus eerder dan gepland.
Het eenmaal uitvoeren van de lusbody wordt een iteratie van de lus genoemd. De continue
instructie onderbreekt de huidige iteratie van de lus, maar in tegenstelling tot de break
instructie beëindigt deze de lus zelf niet. De verklaring is ook kort:
continue;
De continue
instructie is superhandig in een lus als we de uitvoering van de lus in bepaalde situaties willen 'overslaan'.
Taak: We willen een programma schrijven dat getallen afdrukt van 1
tot 20
maar getallen overslaat die deelbaar zijn door 7
. Zo zou deze code eruit kunnen zien.
Code | Uitleg |
---|---|
|
Het programma toont getallen van 1 tot 20 . Als het getal deelbaar is door 7 (de rest van delen door 7 is 0 ), dan slaan we de weergave van het getal over. |
Eigenlijk zal deze code niet werken , want i
hij blijft voor altijd vastzitten op het nummer 7
. De stelling slaat immers continue
twee andere stellingen over: System.out.println(i)
en i++
. Als gevolg hiervan, zodra we de waarde bereiken , stopt 7
de variabele met veranderen en zitten we in een oneindige lus.i
We hebben de code met opzet op deze manier geschreven om deze veel voorkomende fout te illustreren. Hoe lossen we het op?
Er zijn hier twee opties:
Optie 1: wijzigen i
voor uitvoeren continue
, maar daarnai % 7
Optie 2: altijd verhogen i
aan het begin van de lus. Maar dan i
moet de startwaarde zijn 0
.
Optie 1 | Optie 2 |
---|---|
|
|
GO TO FULL VERSION