1. break
erklæ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 exit
indtastes. Hvis du indtaster dette ord, isExit
bliver variablen true
, løkkebetingelsen vil være , og løkken slutter."!isExit
false
Java har en særlig break
erklæring, der lader dig forenkle sådan logik. Hvis en break
sæ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 break
erklæ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 break
er ikke den eneste Java-sætning, der lader dig kontrollere en loops adfærd. Java har også continue
erklæringen. Hvis du udfører en continue
sæ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 continue
afbryder den aktuelle iteration af løkken, men i modsætning til break
sætningen afslutter den ikke selve løkken. Udtalelsen er også kort:
continue;
Udsagnet continue
er 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 1
til 20
, men springer tal over, der er delelige med 7
. Sådan kan denne kode se ud.
Kode | Forklaring |
---|---|
|
Programmet viser tal fra 1 til 20 . Hvis tallet er deleligt med 7 (resten af divisionen med 7 er 0 ), springer vi over at vise tallet. |
Faktisk vil denne kode ikke fungere , fordi i
den for altid vil sidde fast ved nummeret 7
. Udsagnet springer jo continue
to andre udsagn over: System.out.println(i)
og i++
. Som et resultat, når vi når værdien , vil 7
variablen 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 i
før udførelse continue
, men efteri % 7
Mulighed 2: Forøg altid i
i begyndelsen af løkken. Men så i
skal startværdien være 0
.
Mulighed 1 | Mulighed 2 |
---|---|
|
|
GO TO FULL VERSION