31.8.21

Java 17 stiže za dve nedelje!

Pročitaj i ostale Java vesti.

Za oko dve nedelje (14. sep. 2021.) trebalo bi da izađe Java 17 - najnovija verzija programskog jezika Java. To će biti prva verzija posle verzije 11 koja će imati dugoročnu podršku. Besplatna dugoročna podrška trajaće bar do septembra 2027. god.

Java 17 sa sobom donosi četrnaest poboljšanja:

  • Restore Always-Strict Floating-Point Semantics - JEP 306
  • Enhanced Pseudo-Random Number Generators - JEP 356
  • New macOS Rendering Pipeline - JEP 382
  • macOS/AArch64 Port - JEP 391
  • Deprecate the Applet API for Removal - JEP 398
  • Strongly Encapsulate JDK Internals - JEP 403
  • Pattern Matching for switch (Preview) - JEP 406
  • Remove RMI Activation - JEP 407
  • Sealed Classes - JEP 409
  • Remove the Experimental AOT and JIT Compiler - JEP 410
  • Deprecate the Security Manager for Removal - JEP 411
  • Foreign Function & Memory API (Incubator) - JEP 412
  • Vector API (Second Incubator) - JEP 414
  • Context-Specific Deserialization Filters - JEP 415

13.7.21

Java - Enums

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

Enums ili enumeracije(nabrajanja) su posebna vrsta Java kolekcija koja predstavlja grupu konstanti. Java enumeracije se stvaraju upotrebom ključne reči enum nakon koje slede naziv i konstante.

Enums - Upotreba

Java nabrajanja se mogu koristiti neposredno, bez uvođenja paketa:

Stvaranje Enumeracije

Nabrajanja se mogu koristiti za grupisanje konstanti, npr. naziva dana u nedelji:

enum DanUNedelji {
    PONEDELJAK,
    UTORAK,
    SREDA,
    CETVRTAK,
    PETAK,
    SUBOTA,
    NEDELJA
}

Konstantne vrednosti iz enumeracije se se mogu mogu dodeljivati promenljivama čiji je tip data enumeracija, bez upotrebe ključne reči new:

DanUNedelji dan = DanUNedelji.PETAK;


Pročitaj i nastavak:

Besplatni Java kurs - 48. deo - EnumSet

30.6.21

Java - ArrayDeque

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

Array Deque je Java kolekcija iz paketa java.util koja predstavlja niz - red sa dva kraja, otuda i naziv (na engleskom: Array Double Ended Queue). Kao što se iz naziva može zaključiti, ArrayDeque je red koji omogućava dodavanje i uklanjanje članova na oba kraja.

Korišćenje ArrayDeque

Pre upotrebe potrebno je uvesti paket u kome se nalazi ArrayDeque:

import java.util.ArrayDeque;

Stvaranje ArrayDeque

Red sa dva kraja se stvara pomoću ključne reči new:

ArrayDeque<String> mojiOmiljeniStraniJezici = new ArrayDeque<String>();

29.6.21

Java - LinkedList

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

Linked List je još jedna od često korišćenih Java kolekcija iz paketa java.util. Na našem jeziku, linked list se može prevesti kao povezana lista. Povezane liste su linearna struktura podataka čiji članovi nisu uskladišteni u neprekidnom nizu memorijskih adresa, već mogu biti skladišteni na različitim mestima. Svaki član povezane liste sadrži dva dela: podatak i adresu narednog člana. Kao što je već pomenuto, LinkedList je deo java.util paketa koji se prvo mora uvesti i tek onda je moguće koristiti ArrayList.

Uvođenje LinkedList

Najpre je potrebno uvesti paket u kome se nalaze povezane liste. Nije nužno uvesti ceo paket, već samo LinkedList:

import java.util.LinkedList;

Stvaranje LinkedList

Nova povezana lista se stvara pomoću ključne reči new:

LinkedList<String> mojiOmiljeniSportovi = new LinkedList<String>();

31.5.21

Java - ArrayList

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

ArrayList je jedna od najčešće korišćenih Java kolekcija. Po svoj prirodi, ArrayList je niz promenljive dužine. To je ujedno i najbitnija razlika u odnosu na osnovne, ugrađene Java nizove. Za razliku od ugrađenih nizova koji se mogu koristiti bez dotatnih priprema, ArrayList je deo java.util paketa koji se prvo mora uvesti i tek onda je moguće koristiti ArrayList.

Uvođenje ArrayList u program

Pre svega, prvo je potrebno uvesti paket. Da bi bilo moguće koristiti ArrayList nije neophodno uvesti ceo paket, već samo ArrayList na sledeći način:

import java.util.ArrayList;

Stvaranje ArrayList

Slično nizu, novi ArrayList objekat se stvara pomoću ključne reči new:

ArrayList<String> mojeOmiljeneDestinacije = new ArrayList<String>();

29.3.21

Java 16 - Šta je novo?

Pročitaj i ostale Java vesti.

Nedavno je objavljena najnovija verzija (16) programskog jezika Java. Java 16 nema dugoročnu podrške. Sledeća verzija (17) će biti objavljena u septembru ove godine i imaće dugoročnu podršku.

Java 16 je stigla sa sledećim promenama:

  • Vector API (Incubator) - JEP 338
  • Enable C++14 Language Features - JEP 347
  • Migrate from Mercurial to Git - JEP 357
  • Migrate to GitHub - JEP 369
  • ZGC: Concurrent Thread-Stack Processing - JEP 376
  • Unix-Domain Socket Channels - JEP 380
  • Alpine Linux Port - JEP 386
  • Elastic Metaspace - JEP 387
  • Windows/AArch64 Port - JEP 388
  • Foreign Linker API (Incubator) - JEP 389
  • Warnings for Value-Based Classes - JEP 390
  • Packaging Tool - JEP 392
  • Foreign-Memory Access API (Third Incubator) - JEP 393
  • Pattern Matching for instanceof - JEP 394
  • Records - JEP 395
  • Strongly Encapsulate JDK Internals by Default - JEP 396
  • Sealed Classes (Second Preview) - JEP 397

30.11.20

Java kolekcije

Prethodnim tekstom u kojima su obrađeni nizovi u petljama završen je prvi deo osnovnog nivoa besplatnog kursa „Java za sve”. Ono što sledi su Java kolekcije.

Za potpuno razumevanje Java kolekcija neophodno je poznavanje objektno orijentisanog programiranja u Javi. Objektno orijentisano programiranje (OOP) je jako bitan koncept modernih programskih jezika, ali je i veoma složen. Zbog složenosti objektno orijentisano programiranje će biti obrađeno u nastavku, po završetku osnovnog nivoa kursa.

Zbog činjenice da su Java kolekcije veoma važne i korišćene, kao i da logički spadaju u poslednje poglavlje osnovnog kursa - „Složene vrste podataka”, biće objašnjeno kako raditi sa kolekcijama bez zalaženja u detalje. Neke od kolekcija koje će biti obrađene su:

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.

14.9.20

Java 15 stiže sutra!

Pročitaj i ostale Java vesti.

Sutra (15. sep. 2020.) bi trebalo da bude objavljena najnovija verzija programskog jezika Java - Java 15. Ova verzija će biti bez dugoročne podrške, ali donosi neka poboljšanja i novine.

Novine koje donosi Java 15:

  • Sealed Classes (Preview) - JEP 360
  • Records (Second Preview) - JEP 384
  • Pattern Matching for instanceof (Second Preview) - JEP 375
  • Text Blocks (Second Preview) - JEP 368
  • Hidden Classes - JEP 371
  • ZGC: A Scalable Low-Latency Garbage Collector (Production) - JEP 377
  • Deprecate RMI Activation for Removal - JEP 385
  • Foreign-Memory Access API (Second Incubator) - JEP 383
  • Disable and Deprecate Biased Locking - JEP 374
  • Reimplement the Legacy DatagramSocket API - JEP 373
  • Remove the Nashorn JavaScript Engine - JEP 372

20.7.20

Java - Višedimenzionalni nizovi

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

Višedimenzionalni nizovi su nizovi nizova. Ukupan broj nizova određuje dimenzionalnost. Npr. ako postoji samo jedan niz unutar drugog, ukupno ih ima dva i cela struktura se zove dvodimenzionalni niz. Ako se unutar niza nalazi drugi niz u kome se nalazi treći - takav niz se zove trodimenzionalni itd.

Dvodimenzonalni nizovi

Dvodimenzonalni nizovi se deklarišu navođenjem tipa i identifikatora(naziva) i dva para uglastih zagrada [ ][ ]. Sledeći primer predstavlja dvodimenzionalni niz tipa int:

int niz_2d[][];

Drugi način deklarisanja dvodimenzionalnog niza je navođenjem uglastih zagrada pre naziva:

int [][] niz_2d;

Drugi način je pogodniji kada je potrebno deklarisati više od jednog niza istovremeno jer je dovoljno napisati samo jedan par uglastih zagrada:

byte niz_2dA[][], niz_2dB[][], niz_2dC[][];
byte [] niz_2dA, niz_2dB, niz_2dC;