Showing posts with label kôd. Show all posts
Showing posts with label kôd. Show all posts

13.11.25

3 najvažnije metode u tvojoj Java klasi

Besplatni Java kurs - 65. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

U svojoj Java klasi možeš da definišeš metode koje imaju različite namene. Ali postoje metode koje bi gotovo uvek trebalo da ugradiš u sve svoje Java klase.

Koje su to metode koje su toliko važne?

3 najvažnije Java metode

Tri najvažnije Java metode koje bi trebalo da imaš u (skoro) svakoj svojoj klasi su:

  • toString
  • equals
  • hashCode

6.12.23

Java metode: parametri metoda

Besplatni Java kurs - 62. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Osim povratnih vrednosti koje predstavljaju izlaz, Java metode mogu imati i ulazne vrednosti. Ulazne vrednosti metoda nazivaju se parametri metoda.

Parametri metoda

Često je potrebno da metode prihvataju neke ulazne vrednosti kako bi se njihovo izvršavanje prilagodilo potrebama.

Bez ulazinh vrednosti, metode bi uvek radile potpuno isto i ne bi bile prilagodljive trenutnim uslovima. Parametri metoda ti omogućuju da podesiš metodu da radi baš onako kako ti u odgovara u nekom trenutku.

Uzmimo za primer klasu Knjiga, čiji osnovni kôd izgleda ovako:

11.9.23

Java metode: povratna vrednost metoda

Besplatni Java kurs - 61. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

U prvom članku o Java metodama objasnio sam šta su metode i kako se koriste. Podsećanja radi, metoda koju sam koristio u primeru zvala se citaj i bila je napisana u klasi Knjiga, a ceo kôd je izgledao ovako:

class Knjiga {
    public String naslov;
    public String autor;
    public int brStranica;

    public Knjiga(String naslov, String autor, int brStranica){
        this.naslov = naslov;
        this.autor = autor;
        this.brStranica = brStranica;
    }

    public void citaj(){
        System.out.println("Citam knjigu " + this.naslov);
    }
}

class Rad {
    public static void main(String args[]){
        Knjiga Dina = new Knjiga("Dina", "Frenk Herbert", 704);
        Dina.citaj();
    }
}

Izvršavanjem navedenog kôda dobija se sledeći izlaz:

Citam knjigu Dina

Metoda citaj je veoma jednostavna. Njen jedini zadatak je ispisivanje poruke koja kaže koju knjugu čitam. Metoda citaj sadrži jednu jedinu liniju kôda:

System.out.println("Citam knjigu " + this.naslov);

Hajde sada da dodamo još jednu metodu u klasu Knjiga. Metoda će se zvati uzmiNaslov. Prvo ću napisati celokupan novi kôd, pokazati šta će biti rezultat njegovog izvršavanja i na kraju ću detaljno objasniti kako nova metoda radi.

Metode sa povratnom vrednošću

Nova verzija kôda koji koristi metodu sa povratnom vrednošću uzmiNaslov izgleda ovako:

28.8.23

Šta znači this u programskom jeziku Java?

Besplatni Java kurs - 60. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

U svakom Java programu koji nije trivijalan stalno se pojavljuje ključna reč this. Čak i u školskom primeru klase Knjiga koju sam do sada koristio da objasnim osnovne koncepte programskog jezika Java, pojavljivala se ključna reč this. Da podsetim, jedna od verzija klase Knjiga je izgledala ovako:

class Knjiga {
    public String naslov;
    public String autor;
    public int brStranica;

    public Knjiga(String naslov, String autor, int brStranica){
        this.naslov = naslov;
        this.autor = autor;
        this.brStranica = brStranica;
    }
}

class Rad {
    public static void main(String args[]){
        Knjiga Dina = new Knjiga("Dina", "Frenk Herbert", 704);
    }
}

U konstruktoru klase Knjiga ključna reč this se pojavljuje čak tri puta.

Šta je this?

U programskom jeziku Java this označava trenutni objekat!

Ali šta je to trenutni objekat? Trenutni objekat je onaj u kojem se trenutno „nalazimo”.

19.6.23

Java - modifikatori pristupa

Besplatni Java kurs - 58. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

U prethodnim primerima, npr. u članku o Java metodama, u kôdu se često ponavjala reč public. To je jedan od četiri modifikatora pristupa u programskom jeziku Java.

Šta su modifikatori pristupa?

Java modifikatori pristupa određuju dostupnost klasa, metoda i promenljivih unutar Java kôda. Ograničavanje pristupa se koristi iz bezbednosnih razloga, kao i da slučajno ne bi dolazilo do grešaka tokom izvršavanja programa. Modifikatori pristupa dele programski kôd na celine koje međusobno mogu da komuniciraju onako kako to modifikatori pristupa nalažu.

U programskom jeziku Java postoje četiri modifikatora pristupa:

  • private
  • podrazumevani (default)
  • protected
  • public

3.5.23

Java - metode

Besplatni Java kurs - 57. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Programiranje praktično ne bi imalo nikakvog smisla ako bi se svelo na puko skladištenje podataka. Podaci jesu ključni pojam u programiranju, ali bez dodavanja određenih funkcionalnosti nijedan program ne bi bio preterano koristan, štaviše, ne bi ni bio program u pravom smislu te reči. Osnovni način dodavanja funkcionalnosti u program je upotrebom funkcija.

Šta su funkcije?

Funkcije su deo programa koji se koristi za vršenje određenog posla. Donekle su slične petljama jer se koriste za ponavljanje određene grupe naredbi. Za razliku od petlji, funkcije se ne izvršavaju u trenutku u kojem su definisane, već se izvršavaju naknadno, prema potrebi. Takođe, za razliku od petlji, mogu sadržati parametre pomoću kojih se prilagođavaju specifičnom zadatku tako da su mnogo fleksibilnije od petlji.

Funkcije su po svojoj prirodi samostalne i nezavisne, tj. mogu se definisati praktično bilo gde u kôdu u programskim jezicima koji ih podržavaju. U programskom jeziku Java funkcije kao takve ne postoje, već postoje u specifičnom obliku, kao metode.

Šta su metode?

Metode su posebna vrsta funkcija koje se ne mogu definisati bilo gde u kôdu, već samo unutar klasa. Zbog toga imaju malo drugačije osobine nego obične funkcije.

25.4.23

Java - objekti

Besplatni Java kurs - 56. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Objekti predstavljaju srž objektnog programiranja u programskom jeziku Java.

Šta su objekti?

Mnogim početnicima je teško da shvate razliku između klasa i objekata. Klase su tipovi podataka koji mogu imati ugrađene funkcionalnosti, objekti su sami podaci na koje se te funckionalnosti primenjuju.

Klase su apstraktan pojam, dok su objekti realna implementacija istog pojma. Uzmimo za primer nešto iz realnog sveta: knjigu. Kako bi neka knjiga mogla biti predstavljena u programskom jeziku Java? Knjiga bi mogla biti predstavjena kao klasa:

class Knjiga {
    public String naslov;
    public String autor;
    public int brStranica;
}

U navedenom primeru klasa koja predstavlja Knjigu sadrži dve promenljive tipa string (naslov i autor) i jednu promenljivu tipa int (brStranica). Kao što se može primetiti, nisu navedeni nijedan konkretan naslov niti autor, kao ni broj stranica. To je zato što klase predstavljaju samo apstraktne opise nečega iz realnog sveta. Klase služe kao skup pravila i uputstava kako napraviti nešto konkretno, odnosno neki objekat. U našem primeru pravila su sledeća: svaka knjiga bi trebalo da ima naslov, autora i broj stranica. Hajde da napravimo jednu knjigu, odnosno, da napravimo objekat knjige:

class Knjiga {
    public String naslov;
    public String autor;
    public int brStranica;
}
class Rad {
    public static void main(String args[]){
        Knjiga praznaKnjiga = new Knjiga();
    }
}

25.1.23

Java - Klase

Besplatni Java kurs - 55. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Klase predstavljaju prvi od dva ključna pojma objektnog programiranja u programskom jeziku Java.

Šta su klase?

Klase su složeni tipovi podataka koji mogu imati ugrađene funkcionalnosti. To bi bila gruba definicija klasa koje po svojoj prirodi mogu biti veoma složene.

Postoje klase koje su ugrađene u programski jezik Java, a možeš da praviš i svoje klase. Ali zašto bi neko pravio svoje klase? Nekada su ugrađeni tipovi podadaka više nego dovoljni da se stvari iz prirode predstave u Java programskom kôdu. Npr. nečije ime je lako iskazati kao string. Čak i kada podataka ima više, mogu se predstaviti kao niz.

Složenije stvari nije tako lako iskazati korišćenjem osnovnih tipova podataka, čak ni kolekcija. Kako predstaviti knjige? Knjiga ima naslov, izdavača, broj stranica, broj izdanja, tiraž, može imati jedog autora ili grupu autora itd. Čak i kada bismo sve te podatke stavili (npr.) u string, ne bi postojao lak način da se u kasnijoj upotrebi dođe do tih istih podataka. Različite knjige će imati različite osobine i teško bi bilo sve te raznovrsnosti efikasno predstaviti i koristiti kao string. Još teže bi bilo dodati neke funkcionalnosti koje bi bile zajedničke za sve knjige, posebno ako bi trebalo da se prilagode svakoj knjizi ponaosob.

Zato postoje klase. Klase omogućavaju da se podaci urede prema sopstvenim potrebama i da se smisaono povežu. Takođe, klase omogućavaju da se na jednostavan način dodaju željene funkcionalnosti koje se mogu prilagođavati prema potrebi.

Klase su toliko važne u Javi da praktično ništa ne može da postoji van klase. Čak i najjednostavniji Java program koji samo ispisuje pozdravnu poruku mora biti napisan unutar klase:

class ZdravoSvete {
    public static void main(String args[]){
        System.out.println("Zdravo svete!");
    }
}


Pročitaj i nastavak:

Besplatni Java kurs - 56. deo - Objekti

17.10.20

Java - Nizovi u petljama

Besplatni Java kurs - 43. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Petlje su veoma pogodne za rad sa nizovima. Upotrebom petlji olakšava se i automatizuje pristup članovima niza, njihovo stvaranje i izmena. Koriščenje petlji posebno ima smisla kada se radi sa velikim nizovima koji imaju mnogo članova i/ili više dimenzija. Za početak, biće objašnjeno kako se radi sa jednodimenzionalnim nizovima unutar petlji.

Jednodimenzionalni nizovi u petljama

Za jednostavniji rad sa jednodimenzionalnim nizovima dovoljna je jedna petlja. Sledeći primer služi za ispis brojeva koji su smešteni u jednodimenzionalni niz tipa int:

int loto[] = {21, 37, 22, 30, 18, 39, 12};
String ispis = "";
for(int i = 0; i < 7; i++){
    ispis = ((i+1) + ". broj je: " + loto[i]);
    System.out.println(ispis);
}

Rezultat izvršavanja je:

1. broj je 21
2. broj je 37
3. broj je 22
4. broj je 30
5. broj je 18
6. broj je 39
7. broj je 12

Hajde da analiziramo šta se zapravo dešava u petlji.

12.5.20

Java - do while petlja

Besplatni Java kurs - 37. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

do while petlja jako liči na while petlju, sa bitnom razlikom: uslov izvršavanja se proverava na kraju petlje, a ne na početku.

do while petlja se uvek izvršava bar jednom, a zatim pre sledećeg izvršavanja ispituje da li je uslov zadovoljen. Samo u slučaju da je uslov zadovoljen izvršiće se kôd. Posle svakog izvršavanja uslov će ponovo biti ispitan i opet, samo ako je uslov zadovoljen ponoviće se izvršavanje. To će se ponavljati sve dok god uslov za izvršavanje petlje ostane zadovoljen.

Npr, sledeća petlja će se izvršiti tri puta:

int k = 1;
do {
    System.out.println("Krug: " + k);
    if (k == 3)
        k = 0;
    k++;
} while(k > 1);

Rezultat izvršavanja petlje biće tri ispisa:

Krug: 1
Krug: 2
Krug: 3


Pročitaj i nastavak:

Besplatni Java kurs - 38. deo - for petlja

11.5.20

Java - while petlja

Besplatni Java kurs - 36. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

while petlja uvek pre izvršavanja ispituje da li je uslov zadovoljen. Samo u slučaju da je uslov zadovoljen izvršiće se kôd. Posle svakog izvršavanja uslov će ponovo biti ispitan i opet, samo ako je uslov zadovoljen ponoviće se izvršavanje. To će se ponavljati sve dok uslov za izvršavanje petlje ne bude nezadovoljen.

Npr, sledeća petlja će se izvršiti tri puta:

int k = 1;
while(k <= 3){
    System.out.println("Krug: " + k);
    k++;
}

Rezultat izvršavanja petlje biće tri ispisa:

Krug: 1
Krug: 2
Krug: 3

U prvom krugu k će imati vrednost 1, u drugom imaće vrednost 2, u trećem vrednost 3. Posle trećeg kruga k će imati vrednost 4 što neće zadovoljiti uslov ponovnog ulaska u petlju - da je k manje ili jednako 3. Zato neće biti četvrtog prolaska kroz petlju, već će se ovaj deo programa završiti. Vrednost k se menja zahvaljujući liniji kôda k++;, kojom se svaki put pri prolasku kroz petlju k uvećava za 1 (k = k + 1).

7.5.20

Java - Petlje

Besplatni Java kurs - 35. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Za uslovno ponavljanje izvršavanja dela programa koriste se petlje.

Postoje tri vrste petlji u programskom jeziku Java:

  • while petlje
  • do-while petlje
  • for petlje

Kada nije poznato koliko puta bi trebalo da se ponovi izvršavanje dela kôda koriste se uglavnom while ili do-while petlje. Kada je unapred poznato koliko puta je potrebno da se ponovi izvršavanje dela kôda koriste se najčešće for petlje.

U narednim postovima biće objašnjene sve tri vrste petlji. U suprotnom bi ovaj post bio preopširan.

Za sada ću samo objasniti kako rade na visokom nivou. Sve petlje ispituju određene uslove na osnovu kojih će se utvrditi koliko puta će se izvršiti. Petlje se i razlikuju upravo po načinu na koji se posmatraju ti uslovi.

6.5.20

Java - Naredbe uslovnog grananja - else

Besplatni Java kurs - 34. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Za uslovno izvršavanje dela programa u slučaju da nije zadovoljen zadati uslov koristi se naredba else.

else naredba

Da bi se deo programa izvršio samo ako nije ispunjen uslov za izvršavanje naredbe if koristi se naredba else. Naredba else se koristi isključivo tako što se navede posle naredbe if na koju se odnosi. Zatim se navede i kôd koji je potrebno izvršiti, npr:

if (false)
    System.out.println("Ovo se ne ispisuje jer je uslov uvek false.");
else
    System.out.println("Ovo se ispisuje!");

Prilikom izvršavanja navedenog kôda biće izvršen ispis "Ovo se ispisuje!" jer je kao uslov stavljen literal false. Primer nema mnogo smisla, jer je uslov uvek neistinit. Pravi primer bi bio sledeći kôd koji će ispisati "Ovo se ispisuje kada je islov istina." samo ako je promenljiva uslov istinita, u suprotnom ispisaće "Ovo se ispisuje kada uslov nije istina.":

if (uslov)
    System.out.println("Ispisuje se kada je uslov istina.");
else
    System.out.println("Ispisuje se kada uslov nije istina.");

5.5.20

Java - Naredbe uslovnog grananja - if

Besplatni Java kurs - 33. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Za uslovno izvršavanje dela programa koristi se if naredba.

if naredba

Da bi se deo programa izvršio pod nekim uslovom, koristi se naredba if. Naredba if se koristi tako što se u zagradi posle naredbe navede uslov, a zatim i kôd koji je potrebno izvršiti, npr:

if (true)
    System.out.println("Uslovni pozdrav!")

Prilikom izvršavanja navedenog kôda biće izvršen ispis "Uslovni pozdrav!" jer je kao uslov stavljen literal true. Ovaj primer nema mnogo smisla, jer je uslov uvek istinit. Pravi primer bi bio sledeći kôd koji će ispisati "Uslovni pozdrav!" samo ako je promenljiva uslov istinita:

if (uslov)
    System.out.println("Uslovni pozdrav!")

18.4.20

Java - Aritmetički operatori za dodelu uz aritmetičku operaciju

Besplatni Java kurs - 17. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Iza možda zastrašujućeg naslova krije se skup izuzetno korisnih operatora koji skraćuju izraze i čine kôd čitljivijim. Postoji pet operatora za dodelu uz aritmetičku operaciju:

  • += aritmetički operator za dodelu uz sabiranje
  • -= aritmetički operator za dodelu uz oduzimanje
  • *= aritmetički operator za dodelu uz množenje
  • /= aritmetički operator za dodelu uz deljenje
  • %= aritmetički operator za dodelu uz ostatak pri deljenju

14.4.20

Java separatori

Besplatni Java kurs - 13. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Separatori su elementi koji služe za razdvajanje, završavanje naredbi, grupisanje, definisanje i sl. U Javi ih zovu i punktuatori, mada se češće koristi reč separatori.

Java separatori su:

  • ( ) obične zagrade
  • { } vitičaste zagrade
  • [ ] uglaste zagrade
  • ; tačka-zarez
  • , zarez
  • . tačka
  • ... tri tačke (ellipsis)
  • :: dve dvotačke
  • @ majmunsko a

13.4.20

Java komentari i beline

Besplatni Java kurs - 12. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Postoje neki elementi koje programski jezik Java ignoriše, a to su komentari i beline. Ovi elementi imaju svrhu da programerima olakšaju čitljivost i razumevanje kôda, ali računarima nisu od koristi i zato neće biti prevedeni u Javin bajtkôd, a samim tim na kraju ni u mašinski jezik. Java kompajler koristi beline samo da bi jasno razdvojio delove kôda pri tzv. parsiranju.

Java komentari

Komentari u Javi se mogu pisati na tri načina, ali bitnije je da imaju dve uloge:

  • obični komentari - služe za pojašnjenje delova kôda
  • dokumentacioni komentari - služe za pisanje dokumentacije

10.4.20

Java promenljive (Java varijable)

Besplatni Java kurs - 10. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Promenljive predstavljaju imenovana mesta u memoriji u kojima se čuvaju vrednosti. Promenljive mogu biti primitivnog ili referentnog tipa. Promenljive referentnog tipa će biti obrađene u nekom od narednih postova.

Promenljive primitivnog tipa

Varijable primitivnog tipa uvek sadrže primitivne vrednosti tačno određenog tipa. Svaka promenljiva mora imati i naziv pomoću kojeg će biti korišćena.

Nazivi promenljivih

Promenljive se identifikuju pomoću naziva. Nazivi promenljivih su proizvoljni i mogu sadržati slova, brojeve, znakove za dolar i donje crte. Iako mogu sadržati brojeve, nazivi promenljivih ne smeju počinjati sa brojem, npr:

  • promenljiva1 ispravan naziv
  • 1promenljiva neispravan naziv