270 likes | 402 Views
Programski jezici. proleće/leto 2008. Naredbe ponavljanja (petlje). while petlja do-while petlja for petlja. Naredbe ponavljanja (petlje). while petlja while (test) naredba;. Naredbe ponavljanja (petlje). Primeri while (x > 0) x = x - 1; while (i <= 10) {
E N D
Programski jezici proleće/leto 2008
Naredbe ponavljanja (petlje) • while petlja • do-while petlja • for petlja Programski jezici
Naredbe ponavljanja (petlje) • while petlja while (test) naredba; Programski jezici
Naredbe ponavljanja (petlje) • Primeri • while (x > 0) x = x - 1; • while (i <= 10) { y = x * x; i++; } Programski jezici
Naredbe ponavljanja (petlje) • Izvršavanje while petlje test true false naredba Programski jezici
Naredbe ponavljanja (petlje) • do-while petlja do naredba; while (test); Programski jezici
Naredbe ponavljanja (petlje) • Primeri • do x = x - 1; while (x > 0); • do { y = x * x; i++; } while (x > 0); Programski jezici
Naredbe ponavljanja (petlje) • Izvršavanje do-while petlje naredba test true false Programski jezici
Naredbe ponavljanja (petlje) • for petlja for (ini-naredba; test; zav-naredba) naredba; Programski jezici
Naredbe ponavljanja (petlje) • Izvršavanje for petlje ini-naredba; while (test) { naredba; zav-naredba; } Programski jezici
Naredbe ponavljanja (petlje) • Primer int n = 10; for (int i=1; i <= n; i++) System.out.print(i + ” ”); System.out.println(); /* 1 2 3 4 5 6 7 8 9 10 */ Programski jezici
Naredbe break i continue break prevremeno prekida izvršavanje petlje (while, do-while, for), kao i naredbe switch continue prekida izvršavanje samo aktuelne iteracije petlje U ugnježđenim petljama se odnose samo na petlju u kojoj se nalaze Dejan Živković Programski jezici 12
Naredbe break i continue Primer int n = 10; for (int i=1; i <= n; i++) { if (i == 5) break; System.out.print(i + ” ”); } System.out.println(); /* 1 2 3 4 */ Dejan Živković Programski jezici 13
Naredbe break i continue Primer int n = 10; for (int i=1; i <= n; i++) { if (i%2 != 0) continue; System.out.print(i + ” ”); } System.out.println(); /* 2 4 6 8 10 */ Dejan Živković Programski jezici 14
Naredbe break i continue Primer int k = 0; for (int i=1; i<=5; i++) for (int j=i; j<=5; j++) { if (i == 3) break; k++; } System.out.println(”k = ” + k); /* k = 12 */ Dejan Živković Programski jezici 15
Metodi • Metod u Javi ≈ funkcija u C-u • Metod je samostalni blok Java koda (deklaracije i naredbe) koji ima ime i koji se može koristiti (pozvati) u drugom delu koda • Gotovi metodi i programerski definisani metodi • Pozivanje metoda = slanje poruke Programski jezici
Metodi • Prednosti metoda • Manje delove programa (metode) je lakše napisati i testirati • Metodi se mogu nezavisno i paralelno pisati od strane više programera • Metodi se mogu više puta koristiti • Metodi smanjuju ukupnu veličinu programskog koda Programski jezici
Metodi Java program (glavna klasa) main(...) ... metod1(); ... pozivi metoda metod1(...) metod2(); metod2(...) Programski jezici
Metodi • Izvršavanje metoda main() metod1(...) metod2(...) ... metod2(); metod1(); ... Programski jezici
Definisanje metoda • Format: modifikator tip-rez imeMetoda (lista-parametara) //zaglavlje { //telo (deklaracije i naredbe) } Programski jezici
Definisanje metoda • modifikator dodatno opisuje metod (ko može da ga koristi, da li je instancni ili klasni, da li je apstraktni ili ne, ...) • Modifikator pristupa određuje ko može da koristi (poziva) metod • public (sve klase) • private (samo klasa u kojoj je metod definisan) • protected (klasa u kojoj je metod definisan i izvedene klase) • nije navedeno (samo klase iz istog paketa) Programski jezici
Definisanje metoda • tip-rez određuje tip vrednosti koju metod vraća kao rezultat • Metod može vratiti najviše jednu vrednost (objekat) • Ako metod ne vraća nijednu vrednost, tip rezultata je void • Ako metod vraća jednu vrednost, mora imati bar jednu naredbu oblika: return izraz Programski jezici
Definisanje metoda • Naredba return izraz vraća rezultat izraza i kontrolu pozivajućoj metodi • Ukoliko je tip rezultata void, nareba return je opciona Programski jezici
Definisanje metoda • imeMetoda je identifikator (po konvenciji, sve reči osim prve počinju velikim slovom) • lista-parametarasadrži nula ili više parova, razdvojenih zarezima • Parovi su promenljive i njihov tip • Parametri metoda su promenljive koje prihvataju vrednosti argumenata prosleđenih metodu u trenutku njegovog pozivanja Programski jezici
Pozivanje metoda • Prilikom poziva metoda, na mesto formalnih parametara se navode stvarni argumenti • Kod navođenja formalnih parametara u definiciji metoda, za svaki parametar se mora navesti njegov tip, dok se prilikom poziva metoda navode samo stvarni argumenti, bez navođenja njihovog tipa Programski jezici
Pozivanje metoda • Primer public boolean prviJeVeci(int a, int b){ if(a >= b) return true; else return false; } ... int x=20, y=10; ... prviJeVeci(17, 23) ... prviJeVeci(x, y) Programski jezici
Pozivanje metoda • Objektni (instancni) metodi • Odnose se na pojedinačne objekte (instance ) i indirektno kao parametar imaju konkretni objekat klase u kojoj su objektni (instancni) metodi definisani • Pozivaju se samo preko odgovarajućeg konkretnog objekta korišćenjem tačka-notacije • Primer: Krug.java Programski jezici