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;

2.6.20

Java - Nizovi

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

Nizovi su uređena grupa podataka istog tipa kojima se pristupa momoću zajedničkog naziva. Java nizovi mogu sadržati i druge nizove i tada se zovu višedimenzionalni nizovi. U ovom postu biće obrađeni samo jednodimenzionalni nizovi, tj. nizovi koji ne sadrže druge nizove već samo sadrže vrednosti istog tipa.

Jednodimenzonalni nizovi

Nizovi se deklarišu navođenjem tipa podataka koji će sadržati, identifikatora (naziva) niza i uglastih zagrada [ ]. Sledeći primer predstavlja jednodimenzionalni niz tipa int:

int niz_brojeva[];

Alternativno, uglaste zagrade mogu se navesti pre naziva, a posle tipa:

int [] niz_brojeva;

Oba načina su ravnopravna, jedina razlika je što je na drugi način lakše deklarisati više od jednog niza istovremeno jer je u tom slučaju dovoljno napisati samo jedan par uglastih zagrada:

byte nizA[], nizB[], nizC[];
byte [] niz1, niz2, niz3;

1.6.20

Java - Ugnježdene petlje

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

Petlje se mogu koristiti unutar drugih petlji. Takav način korišćenja petlji naziva se ugnježdavanje petlji. Može se ugnježdavati proizvoljan broj petlji. U svakom krugu spoljne petlje izvršiće se svi krugovi unutrašnje petlje pre nego što se pređe na izvršavanje sledećeg kruga spoljne petlje.

Sledeći primer predstavlja dve petlje od kojih je jedna ugnježdena u drugu. Spoljna petlja će se izvršiti tri puta, a unutrašnja tri puta za svaki krug spoljne petlje:

for(int s = 1; s <= 3; s++){
    System.out.println("Spoljni krug: " + s);
    for(int u = 100; u <= 300; u += 100){
        System.out.println("Unutrašnji krug: " + u/100);
        System.out.println("s = " + s + ", u = " + u);
    }
}

Rezultat izvršavanja petlje biće:

Spoljni krug: 1
Unutrašnji krug: 1
s = 1, u = 100
Unutrašnji krug: 2
s = 1, u = 200
Unutrašnji krug: 3
s = 1, u = 300
Spoljni krug: 2
Unutrašnji krug: 1
s = 2, u = 100
Unutrašnji krug: 2
s = 2, u = 200
Unutrašnji krug: 3
s = 2, u = 300
Spoljni krug: 3
Unutrašnji krug: 1
s = 3, u = 100
Unutrašnji krug: 2
s = 3, u = 200
Unutrašnji krug: 3
s = 3, u = 300


Pročitaj i nastavak:

Besplatni Java kurs - 41. deo - Nizovi