Deo zbornika Učimo Javu

Naredbe break i continue u Javi

Email Twitter LinkedIn Facebook Google

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.