Deo zbornika Učimo Javu
Naredbe break
i continue
u Javi
Nekad je potrebno da izađete iz petlje, nekad da preskočite krug. U te svrhe se koriste naredbe break
i continue
.
Naredba break
Naredba break
uzrokuje trenutni izlazak iz petlje, prije nego što se iteracija završi.
Na primjer, u programu CountWheat
(vidi Problem sa pšenicom i šahovskom tablom), petlja se prekida čim nastane overflow pa promenljiva grains
postane negativna:
class CountWheat {
public static void main (String args[]) {
int total = 0;
int grains = 1;
for (int square=1; square <= 64; square++) {
grains *= 2;
if (grains <= 0) {
System.out.println("Overflow: grains = " + grains);
break;
}
total += grains;
System.out.print(total + "\t ");
if (square % 4 == 0) System.out.println();
}
System.out.println("Gotovo!");
}
}
Naredba continue
Naredba continue
preskače na sljedeću iteraciju, ne izvršavajući ostatak naredbi u tijelu petlje. Ako je to for
petlja, brojač se inkrementira.
Sljedeći primjer pokazuje kako se može preskočiti obrada parnih elemenata u nizu:
for (int i = 0; i < m.length; i++) {
if (m[i] % 2 == 0) continue;
// obrada neparnih elemenata...
}
U praksi se naredba continue
rjeđe koristi, jer se u većini slučajeva problem može riješiti bez nje. Prethodni primjer mogao je izgledati i ovako:
for (int i = 0; i < m.length; i++) {
if (m[i] % 2 != 0) {
// obrada neparnih elemenata...
}
}
Izvor: Elliotte Rusty Harold, Java Lecture Notes, preveo Draško Budin, priredio Damjan Pavlica.