1. breakuttalelse
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 exitskrives inn. Hvis du skriver inn dette ordet, isExit blir variabelen true, løkkebetingelsen vil være , og løkken avsluttes."!isExitfalse
Java har en spesiell breakuttalelse som lar deg forenkle slik logikk. Hvis en breaksetning 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 breaktil å omskrive eksemplet vi nettopp diskuterte:
| Kode | Forklaring |
|---|---|
|
Programmet vil lese en linje fra tastaturet, til du skriver inn "exit". |
2. fortsett uttalelse
Men breaker ikke den eneste Java-setningen som lar deg kontrollere en loops oppførsel. Java har også continueuttalelsen. Hvis du utfører en continuesetning 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 continueavbryter gjeldende iterasjon av loopen, men i motsetning til breakutsagnet avslutter den ikke selve loopen. Uttalelsen er også kort:
continue;
Utsagnet continueer 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 1til 20men hopper over tall som er delbare med 7. Slik kan denne koden se ut.
| Kode | Forklaring |
|---|---|
|
Programmet viser tall fra 1til 20. Hvis tallet er delelig med 7(resten av divisjon med 7er 0), hopper vi over å vise tallet. |
Faktisk vil denne koden ikke fungere , fordi iden vil alltid sitte fast ved nummeret 7. Utsagnet hopper tross alt continueover to andre utsagn: System.out.println(i)og i++. Som et resultat, når vi når verdien , vil 7variabelen 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 ifør kjøring continue, men etteri % 7
Alternativ 2: øke alltid ii begynnelsen av loopen. Men da imå startverdien være 0.
| valg 1 | Alternativ 2 |
|---|---|
|
|
GO TO FULL VERSION