1. break
nyilatkozat
Nézzünk egy példát az előző leckéből:
Kód | Magyarázat |
---|---|
|
A program beolvas egy sort a billentyűzetről, amíg be nem írja "exit" . |
A program beolvassa a sorokat a konzolról a szó beírásáig exit
. Ha beírja ezt a szót, akkor a isExit
változó a következő lesz true
, a ciklusfeltétel pedig a lesz , és a ciklus véget ér."!isExit
false
A Java-nak van egy speciális break
utasítása, amely lehetővé teszi az ilyen logika egyszerűsítését. Ha egy break
utasítást egy cikluson belül hajtanak végre, akkor a ciklus azonnal véget ér. A program elkezdi végrehajtani a ciklust követő utasítást. A nyilatkozat nagyon rövid:
break;
A következőképpen használhatja az break
utasítást az imént tárgyalt példa átírására:
Kód | Magyarázat |
---|---|
|
A program beolvas egy sort a billentyűzetről, amíg be nem írja "exit" . |
2. folytassa az állítást
De break
nem ez az egyetlen Java utasítás, amely lehetővé teszi a hurok viselkedésének szabályozását. A Java-nak is megvan a continue
nyilatkozata. continue
Ha egy utasítást cikluson belül hajt végre , a ciklus aktuális iterációja az ütemezés előtt véget ér.
A huroktest egyszeri végrehajtását a ciklus iterációjának nevezzük. Az continue
utasítás megszakítja a ciklus aktuális iterációját, de az break
utasítással ellentétben nem fejezi be magát a ciklust. A nyilatkozat szintén rövid:
continue;
Az continue
utasítás rendkívül kényelmes ciklusban, ha bizonyos helyzetekben ki akarjuk hagyni a ciklustörzs végrehajtását.
Feladat: Olyan programot szeretnénk írni, amely től ig számokat ír ki, 1
de 20
a -vel osztható számokat kihagyja 7
. Így nézhet ki ez a kód.
Kód | Magyarázat |
---|---|
|
A program számokat jelenít meg től 1 -ig 20 . Ha a szám osztható -vel (a -vel 7 való osztás maradéka ), akkor kihagyjuk a szám megjelenítését.7 0 |
Valójában ez a kód nem fog működni , mert i
örökre megragad a számnál 7
. Végül is az continue
állítás két másik állítást kihagy: System.out.println(i)
és i++
. Ennek eredményeként, ha elérjük az értéket 7
, a változó i
nem változik, és végtelen ciklusban leszünk.
Szándékosan írtuk így a kódot, hogy illusztráljuk ezt a nagyon gyakori hibát. Hogyan javítsuk meg?
Itt két lehetőség van:
1. lehetőség: módosítás i
végrehajtás előtt continue
, de utánai % 7
2. lehetőség:i
mindig a ciklus elején növekszik . De akkor i
a kiindulási értéknek 0
.
1.opció | 2. lehetőség |
---|---|
|
|
GO TO FULL VERSION