Uvod u programiranje

Maja Čić


switch naredba grananja

Iako se switch izraz koristi znatno rijeđe nego if izraz, vrlo je koristan za grananja u više grana. Switch izraz omogućuje procjenu uvjeta i na osnovu te vrijednosti skok na neko mjesto unutar switch izraza. Vrijednost izraza koji se procjenjuje mora biti cjelobrojna (byte, short, int ili char), nikako ne može biti string ili realni broj. Za razliku od kombinacije if - else, ovdje se ne može nalaziti logički izraz. Razlog je tome u činjenici da naredba switch utvrđuje vrijednost izraza u određenom trenutku i  zatim skače na blok koji je označen vrijednošću dobivene cjelobrojne konstante oblika "case konstanta:". Moguća je također upotreba oznake "default:" na koju se izvodi skok u slučaju da vrijednost izraza ne odgovara ni jednoj od oznaka slučaja.

Switch izraz ima oblik:

          switch (izraz) {
             case konstanta_1:
                izrazi_1
                break;
             case konstanta_2:
                izrazi_2
                break;
                .
                .   // (ostali slučajevi)
                .
             case konstanta_N:
                izrazi_N
                break;
             default:  // proizvoljni postavni slučaj
                izrazi_(N+1)
          } // kraj switch izraza

Break naredbe su stvar izbora i nisu obavezne. Učinak break naredbe je da skače na kraj switch izraza. Ako se izostavi break naredba računalo će nastaviti s izvršavanjem programa, izvršavajući redom naredbe iz slijedećih slučajeva. Moguće je izostaviti čitave grupe izraza s break naredbom i tako dobiti dvije (ili više) oznaka slučaja u jednom redu, čime se omogućava skok na isti skup izraza za različite vrijednosti izraza u switch naredbi.

Primjer upotrebe switch naredbe (uočiti da konstante u oznakama slučaja ne moraju biti poredane po nekom redu, važno je da su različite):

          switch (N) {   		// N je neka cjelobrojna varijabla
             case 1:
                System.out.println("Broj je 1.")
                break;
             case 2:
             case 4:
             case 8:
                System.out.println("Broj je 2, 4, ili 8.");
                break;
             case 3:
             case 6:
             case 9:
                System.out.println("Broj je 3, 6, ili 9.");
                break;
             case 5:
                System.out.println("Broj je 5.");
                break;
             default:
                System.out.println("Broj je 7,");
                System.out.println("   ili nije između 1 i 9.");
          }
 

[ prethodna stranica | Početak | sljedeća stranica ]