1. breakerklæring
Lad os tage et kig på et eksempel fra den forrige lektion:
| Kode | Forklaring |
|---|---|
|
Programmet vil læse en linje fra tastaturet, indtil du indtaster "exit". |
Programmet læser linjer fra konsollen, indtil ordet exitindtastes. Hvis du indtaster dette ord, isExit bliver variablen true, løkkebetingelsen vil være , og løkken slutter."!isExitfalse
Java har en særlig breakerklæring, der lader dig forenkle sådan logik. Hvis en breaksætning udføres inde i en løkke, slutter løkken med det samme. Programmet vil begynde at udføre sætningen, der følger løkken. Udtalelsen er meget kort:
break;
Sådan kan du bruge breakerklæringen til at omskrive det eksempel, vi lige har diskuteret:
| Kode | Forklaring |
|---|---|
|
Programmet vil læse en linje fra tastaturet, indtil du indtaster "exit". |
2. Fortsæt erklæring
Men breaker ikke den eneste Java-sætning, der lader dig kontrollere en loops adfærd. Java har også continueerklæringen. Hvis du udfører en continuesætning inde i en løkke, vil den aktuelle iteration af løkken ende før tidsplanen.
Udførelse af løkkelegemet én gang kaldes en iteration af løkken. Sætningen continueafbryder den aktuelle iteration af løkken, men i modsætning til breaksætningen afslutter den ikke selve løkken. Udtalelsen er også kort:
continue;
Udsagnet continueer super praktisk i en loop, hvis vi ønsker at "springe over" udførelse af loop-kroppen i visse situationer.
Opgave: Vi vil skrive et program, der udskriver tal fra 1til 20, men springer tal over, der er delelige med 7. Sådan kan denne kode se ud.
| Kode | Forklaring |
|---|---|
|
Programmet viser tal fra 1til 20. Hvis tallet er deleligt med 7(resten af divisionen med 7er 0), springer vi over at vise tallet. |
Faktisk vil denne kode ikke fungere , fordi iden for altid vil sidde fast ved nummeret 7. Udsagnet springer jo continueto andre udsagn over: System.out.println(i)og i++. Som et resultat, når vi når værdien , vil 7variablen holde op med at ændre sig, og vi vil være i en uendelig løkke.i
Vi skrev koden på denne måde med vilje for at illustrere denne meget almindelige fejl. Hvordan fikser vi det?
Der er to muligheder her:
Mulighed 1: skift ifør udførelse continue, men efteri % 7
Mulighed 2: Forøg altid ii begyndelsen af løkken. Men så iskal startværdien være 0.
| Mulighed 1 | Mulighed 2 |
|---|---|
|
|
GO TO FULL VERSION