17/10/2018

Java 07: Funkcije

Funkcije predstavljaju blok koda koji jednostavnim pozivom može iznova i iznova da se koristi. Funkcije se pre svega koriste iz dva razloga:

  1. Ukoliko imamo kod koji ćemo u projektu koristiti više puta. Umesto da ga svaki put da ga kopiramo smestimo ga u funkciju i samo pozivamo tu funkciju kada nam je potrebno
  2. Ukoliko imamo veliki kod radi čitljivosti kod možemo pomoću funkcija podeliti u više celina.

Funkcije se sastoje iz dva dela:

  • Definicija i
  • Poziv

Definicija

Služi da opiše ponašanje funkcije u definiciji potrebno je navesti:

  • Kog tipa će biti rezultat funkcije (ukoliko nema rezultata navodi se void)
  • Naziv funkcije
  • Argumenti koje funkcija prima, navode se u zagradi
  • I blok koda koji će se izvršiti kada je funkcija pozvana
  • Ukoliko nije void funkcija mora da ima i povratnu vrednost koja se navodi nakon ključne reči “return”
int nazivFunkcije(int argument, char argument2) { 
blokKoda
return 10;
}

Poziv

Funkcija se jednostavno poziva navođenjem imena i upisivanjem argumenata u zagradama.

nazivFunkcije(argument1, argument2);
Primer:
  • Napravi funkciju saberi koja sabira dva broja.
Kod:
public class HelloWorld{

     public static void main(String []args){
         int zbir = saberi(5, 6);
        System.out.println(zbir);
     }
     
    static int saberi(int a, int b) {
	    int c = a+ b;
        return c;
    }
}
Ispis:

11

Komentari:

  • Značenje ključne reči “static” ćemo obrađivati u narednim lekcijama, za sada morate jedino da znate da svaka funkcija mora da ima u definiciji “static” da bi mogla da se pozove u programu.
  • Definicija funkcije nalazi se van maina, tj. Van mesta na kome smo do sada kucali kod.
  • Poziv se i dalje nalazi na istom mestu.

Funkcije istog naziva

Moguće je praviti i definisati više funkcija istog naziva, u tom slučaju broj ili tipovi argumenata moraju biti različiti. Ukoliko postoje dve ili više deklarisanih funkciaj sa istim imenom, pri pozivu Java će proveravati unete argumente, ukoliko je unet argument tipa double pozvađe se funkcija koja u definiciji ima argument tipa double.

Primer:

Kod:
public class HelloWorld{

     public static void main(String []args){
        int a = 42;
        char c = 'A';
        funkcija(a);
        funkcija(c);
        funkcija(c, c);
     }
     
    static void funkcija (int a) {
          System.out.println("Ovo je f-ja sa jednim int argumentom");
    } 
    
    static void funkcija (char a) {
          System.out.println("Ovo je f-ja sa jednim char argumentom");
    } 
    
     static void funkcija (char a, char b) {
          System.out.println("Ovo je f-ja sa dva char argumentom");
    } 
}
Ispis:
Ovo je f-ja sa jednim int argumentom
Ovo je f-ja sa jednim char argumentom
Ovo je f-ja sa dva char argumentom

Main funkcija

Main funkcija je funkcija u koju smo do sada smeštali sav kod koji smo kucali. Ukoliko pogledate bilo koji primer sa prethodnih vežbi videćete da je sav kod smeštan u bloku naredbi koji ispred sebe ima:

public static void main(String []args){
Blok naredbi
}

Ovo je funkcija koja će se pozvati kada kliknemo na start, a blok koda koji se nalazi u njoj će se izvršiti. Iz onoga što smo do sada naučili možemo videti da funkcija nema rezultat, tj da je povratna vrednost void. A što se ostalih stvari tiče (public, static i String) govorićemo više u sledećim lekcijama.

Postojeće funkcije u javi.

Java dolazi sa dosta već postojećih funkcija koje možemo koristiti. Jednu od njih smo ceć radili

System.out.prtintln(vrednsotKojaSeIspisuje);

Pored ove postoji još funkcija koje vrše ispis na ekran npr:

System.out.prtint(vrednsotKojaSeIspisuje);

Razlika je što println na kraju ispisa dodaje novi red dok print to ne radi.

Import

Sem ispisa na ekran Java nam nudi I mnoštvo drugih unapred ugrađenih funkcija. Međutim većinu njih neophodno je importovati klasu u kojoj se te funkcije nalaze. Tako na primer imamo matematičke funkcije, apsolutne vrednosti, kvadratni koren I druge. Da bi njih koristili, na samom vrhu programa, pre bilo čega drugog moramo ukucati:

import java.lang.Math;

Čime Javi kažemo da ćemo koristiti funkcije te klase. Celu dokumentaciju klase I sve raspoložive funkcije možete vidite ovde. One se nalaze u tabeli “Method Summary”. Prva kolona predstavlja tip rezultata tj tip povratne vrednosti, dok druga kolona predstavlja naziv i argumente.

 
Prethodna lekcija
Sledeća lekcija
Share

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *