17.9.24

Danas izlazi Java 23!

Pročitaj i ostale Java vesti.

Povodom izlaska Java 23 SDK na platformi YouTube na zvaničnom Java kanalu biće emitovan strim. Pričaće se o novinama koje ovo Java izdanje donosi, kao i o najavljenim budućim promenama.

Strim možeš da gledaš uživo danas (17. septembar 2024. u 15:00), kao i kasnije:

31.8.24

Java geteri i seteri

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

Promenljive koje se nalaze u klasi potrebno je čitati, a povremeno i menjati njihove vrednosti. Upravo tome služe geteri i seteri.

Šta su geteri i seteri?

Geteri i seteri su Java metode koje omogućavaju čitanje (get) i postavljanje (set) vrednosti privatnih promenljivih u klasi. Prema konvenciji, nazivi ovih metoda počinju malim slovima reči get ili set posle kojih sledi naziv promenljive na koju se odnose, ali sa velikim početnim slovom.


Pročitaj i nastavak:

Besplatni Java kurs - 65. deo - 3 najvažnije metode u tvojoj Java klasi

31.7.24

Java konstruktori

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

Konstruktori su posebna vrsta metoda čija je svrha incijalizacija objekata.

Podrazumevani konstruktor

Svaka Java klasa ima podrazumevani konstruktor. Svaki put kada stvoriš novu klasu, ako ne napišeš svoj konstruktor, Java će to uraditi za tebe.

Podrazumevani konstruktor će podesiti sve početne vrednosti svih promenljivih tvog objekta na podrezumevane vrednosti. Podrazumevana podešavanja će zavisiti od tipa promenljive:

  • false za boolean tip
  • 0 za numeričke tipove
  • null za referentne tipove

24.4.24

Koje novine donosi Java SE 22?

Pročitaj i ostale Java vesti.

Nedavno je objavljena najnovija verzija programskog jezika Java, Java 22, koja nam donosi više novina.

Projekat Amber:

  • Statements before super(…) (Preview) - JEP 447
  • Unnamed Variables & Patterns - JEP 456
  • String Templates (Second Preview) - JEP 459
  • Implicitly Declared Classes and Instance Main Methods (Second Preview) - JEP 463

Projekat Loom:

  • Structured Concurrency (Second Preview) - JEP 462
  • Scoped Values (Second Preview) - JEP 464

Projekat Panama:

  • Foreign Function & Memory API - JEP 454
  • Vector API (Seventh Incubator) - JEP 460

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:

19.9.23

Izašla je Java 21 LTS

Pročitaj i ostale Java vesti.

Izašla je najnovija verzija programskog jezika Java, Java 21 LTS, koja uvodi sledeće promene:

  • String Templates (Preview) - JEP 430
  • Sequenced Collections - JEP 431
  • Generational ZGC - JEP 439
  • Record Patterns - JEP 440
  • Pattern Matching for switch - JEP 441
  • Foreign Function and Memory API (Third Preview) - JEP 442
  • Unnamed Patterns and Variables (Preview) - JEP 443
  • Virtual Threads - JEP 444
  • Unnamed Classes and Instance Main Methods (Preview) - JEP 445
  • Scoped Values (Preview) - JEP 446
  • Vector API (Sixth Incubator) - JEP 448
  • Deprecate the Windows 32-bit x86 Port for Removal - JEP 449
  • Prepare to Disallow the Dynamic Loading of Agents - JEP 451
  • Key Encapsulation Mechanism API - JEP 452
  • Structured Concurrency (Preview) - JEP 453

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:

29.8.23

Java 21 LTS stiže za tri nedelje

Pročitaj i ostale Java vesti.

Za tačno tri nedelje (19. sep. 2023.) trebalo bi da stigne nova LTS verzija programskog jezika Java - Java 21.

To je prva verzija posle verzije 17 koja ima dugoročnu podršku.

Javno dostupna dugoročna podrška trajaće do septembra 2028. god. dok će za Oracle i Azul podrška trajati do septembra 2031. god.

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”.

6.7.23

Statičke promenljive (varijable) u Javi

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

Već sam nekoliko puta pominjao Java promenljive i uvek sam podrazumevao da su to obične promenljive koje pripadaju objektu. Npr. u članku o Java objektima postoji jednostavna klasa Knjiga koja izgledala ovako:

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

Kasnije sam navedenu klasu malo proširio i napravio objekat te klase sa konkretnim vrednostima za sve tri promenljive (naslov, autor i brStranica):

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 datom primeru sve tri promenljive (naslov, autor i brStranica) pripadaju objektu Dina. To je slučaj sa svim običnim promenljivim, one uvek pripadaju određenom objektu. Statičke promenljive su drugačije.

Šta su statičke varijable u Javi?

Statičke promenljive u Javi pripadaju klasi, a ne objektu.