1. break
uttalelse
La oss ta en titt på et eksempel fra forrige leksjon:
Kode | Forklaring |
---|---|
|
Programmet vil lese en linje fra tastaturet, til du skriver inn "exit" . |
Programmet leser linjer fra konsollen til ordet exit
skrives inn. Hvis du skriver inn dette ordet, isExit
blir variabelen true
, løkkebetingelsen vil være , og løkken avsluttes."!isExit
false
Java har en spesiell break
uttalelse som lar deg forenkle slik logikk. Hvis en break
setning kjøres inne i en løkke, avsluttes løkken umiddelbart. Programmet vil begynne å utføre setningen som følger løkken. Uttalelsen er veldig kort:
break;
Slik kan du bruke uttalelsen break
til å omskrive eksemplet vi nettopp diskuterte:
Kode | Forklaring |
---|---|
|
Programmet vil lese en linje fra tastaturet, til du skriver inn "exit" . |
2. fortsett uttalelse
Men break
er ikke den eneste Java-setningen som lar deg kontrollere en loops oppførsel. Java har også continue
uttalelsen. Hvis du utfører en continue
setning i en løkke, vil den nåværende iterasjonen av løkken avsluttes før tidsplanen.
Å utføre løkken én gang kalles en iterasjon av løkken. Utsagnet continue
avbryter gjeldende iterasjon av loopen, men i motsetning til break
utsagnet avslutter den ikke selve loopen. Uttalelsen er også kort:
continue;
Utsagnet continue
er super praktisk i en loop hvis vi ønsker å "hoppe over" utførelse av loop-kroppen i visse situasjoner.
Oppgave: Vi ønsker å skrive et program som skriver ut tall fra 1
til 20
men hopper over tall som er delbare med 7
. Slik kan denne koden se ut.
Kode | Forklaring |
---|---|
|
Programmet viser tall fra 1 til 20 . Hvis tallet er delelig med 7 (resten av divisjon med 7 er 0 ), hopper vi over å vise tallet. |
Faktisk vil denne koden ikke fungere , fordi i
den vil alltid sitte fast ved nummeret 7
. Utsagnet hopper tross alt continue
over to andre utsagn: System.out.println(i)
og i++
. Som et resultat, når vi når verdien , vil 7
variabelen slutte å endre seg og vi vil være i en uendelig sløyfe.i
Vi skrev koden på denne måten med vilje for å illustrere denne svært vanlige feilen. Hvordan fikser vi det?
Det er to alternativer her:
Alternativ 1: endre i
før kjøring continue
, men etteri % 7
Alternativ 2: øke alltid i
i begynnelsen av loopen. Men da i
må startverdien være 0
.
valg 1 | Alternativ 2 |
---|---|
|
|