You are on page 1of 15

FAKULTET ZA INFORMACIONE TEHNOLOGIJE I DIZAJN

SEMINARSKI RAD

JAVA PROGRAMSKI JEZIK

STUDENT: MENTOR:

Banja Luka
JAVA PROGRAMSKI JEZIK

SADRŽAJ:

UVOD .......................................................................................................................................... 3

1. NASTANAK I RAZVOJ PROGRAMSKOG JEZIKA JAVA ....................................... 4

2. POJAM I DEFINISANJE PROGRAMSKOG JEZIKA JAVA ..................................... 4

3. ELEMENTI PROGRAMSKOG JEZIKA JAVE ............................................................ 6

4. OSNOVNA GRAĐA PROGRAMSKOG JEZIKA JAVA .............................................. 7

5. OSNOVNI JAVA PROGRAM .......................................................................................... 10

6. POSTUPAK RAZVOJA PROGRAMA ........................................................................... 12

7. OSNOVNI JAVA APLET ................................................................................................. 12

ZAKLJUČAK ............................................................................................................................ 14
LITERATURA .......................................................................................................................... 15

2
JAVA PROGRAMSKI JEZIK

UVOD

Java je računarski programski jezik nastao 1995 godine, koji je razvila korporacije Sun
Microsystems, Inc. Koncipiran je 1992, a njegov prvobitni naziv je bio „Oak“, ali kasnije je
promjenjen u ime Java i kao takav postoji i danas. Java je veći dio svojih osobina nasljedila od
jezika C i C++. C jezik je postao moćan, efikasan program koji se lako uči i savlađuje. Iako je C
jezik jedan od najboljih svjetskih jezika on ima ograničenja što se tiče složenosti. Kada program
naraste između par desetina ili stotina hiljada redova postaje veoma složen i težak za praćenje.
Zbog toga nastaje jezik C++ koji savlađuje ovu prepreku i omogućava programeru da shvati
složene programe i da njima upravlja. C++ proširuje jezik C dodavajući mu objekto orjentisane
osobine. Osnovni razlog uspjeha jezika C++, je taj što on obuhvata sve prednosti, osobine i
svojstva jezika C.

Java kao programski jezik ima mnoge prednosti koje ih razlikuju od drugih jezika. Te prednosti
se najviše ogledaju u prenosivosti i bezbjednosti. Java jezik je nezavisan od platforme na kojoj se
koristi, što znači da se može koristiti na svim operativnim sistemima, a pri korišćenju čitača
Weba koji podržava Javu, mogu nesmetano da se preuzimaju izvršne datoteke, bez bojaznosti da
se računar zarazi virusom. To što omogućava bezbjednost i prenosivost se ogleda u generisanju
izvršnog koda tj. bajt koda. On predstavlja skup instrukcija koji u toku izvršavanja programa
tumači javina virtuelna mašina. Za različite platforme potrebno je samo da se instalira određena
virtualna mašina i moći će se izvršavati svaki java program. Takođe, to što java programe ne
izvršava procesor nego JVM čini ih i bezbjednim, jer nedozvoljava virusima i drugim neželjenim
efektima da remeti okolni sistem. Sama Java je koncipirana na objektno orjentisano
programiranje i ono čini njenu srž. Takvim pristupom se programi orjentišu oko skupa podataka,
i skupa načina pristupa tih podataka.

Java, mada relativno novi jezik, izuzetno je popularna. Prvi razlog za popularnost je njena cijena
- potpuno je besplatna!. Mnogi drugi programski jezici prodaju ce po cijeni od više stotina ili
hiljada dolara, što je za većinu ljudi glavna prepreka da počnu da uče programiranje. Drugi
razlog za popularnost Jave je to što je Java programi mogu da se izvršavaju na skoro svakom tipu
računara, odnosno, Java programi su nezavisni od platforme na kojoj se izvršavaju.

Java može da se koristi za razvoj raznovrsnih aplikacija. Postoje jednostavni tekstualno-


zasnovani programi koji se nazivaju konzolnim aplikacijama. Takvi programi podržavaju samo
tekstualni unos i ispis na monitoru račuanara. Drugo popularno svojstvo Jave je to što je ona
objektno orijentisana, odnosno, može se reći da su Java programi sačinjeni od više osnovnih
dijelova (komponenti) koji mogu da se više puta koriste. Za Java programera to znači da može da
pravi i mijenjate velike programe bez većih komplikacija.

Programski jezik Java stekao je veliku popularnost zbog svoje elegancije i savremene
koncepcije. Programi napisani u Javi mogu se naći u mobilnim uređajima, Internet stranama i
mnogim drugim okruženjima ljudskog djelovanja.

3
JAVA PROGRAMSKI JEZIK

1. NASTANAK I RAZVOJ PROGRAMSKOG JEZIKA JAVA

Java je programski jezik, koji je razvila kompanija Sun Microsystems početkom devedesetih
godina. Mnogi koncepti Jave su bazirani na jeziku Oberon (autora Niklausa Virta, tvorca
Paskala, Module i drugih jezika, i Hanspetera Musenbaha). Izbacili su koncept modula i uveli
pakete kakve danas znamo, koji se oslanjaju na fajl sistem i uveli formalno koncept klasa iz
objektno-orijentisane paradigme. Osim toga, jezik ima sintaksu iz C i C++-a, ali je mnogo
strožiji pri prevođenju, dizajniran tako da bude nezavisan od platforme, i sa pojednostavljenim
upravljanjem memorijom.1 Prva verzija Java programskog jezika zvanično je objavljena 1995.
godine.

Iako je postala nerazdvojivi dio mrežnog okruženja Interneta, treba istaći da je Java na prvom
mjestu programski jezik. Osnovni motiv je bila potreba za jezikom nezavisnim od računarske
platforme (tj. neutralnim u odnosu prema arhitekturi), koji bi se mogao koristiti za kreiranje
softvera namijenjenog različitim elektronskim uređajima u domaćinstvu, kao što su mikrovalne
pećnice i daljinski upravljači. Internet je pomogao da se Java probije u prve redove
programirača, a Java je, za uzvrat, jako uticala na Internet. Objašnjenje je sasvim jednostavno:
Java širi skup objekata koji se slobodno mogu kretati kiber-prostorom. Na mreži između servera
i ličnog računara kreću se dvije veoma široke kategorije objekata: pasivni podaci i dinamički,
aktivni programi.

Razvoj programa u svim programskim jezicima obuhvata tri glavna koraka: unošenje,
prevođenje i pokretanje (testiranje) programa. Ovaj često mukotrpan proces može se u slučaju
Jave obavljati u okviru dva osnovna razvojna okruženja: tekstualnog i grafičkog. Dok je
tekstualno razvojno okruženje za Javu relativno standardno (konzolni prozor za Unix, DOS
prozor za Windows ili slično komandno okruženje za druge operativne sisteme), programerima
su na raspolaganju mnoga grafička razvojna okruženja, kako besplatna tako i komercijalna
(NetBeans, Eclipse, DrJava, BlueJ, JCreator itd.).2

2. POJAM I DEFINISANJE PROGRAMSKOG JEZIKA JAVA

Kada se govori o programskom jeziku Java, treba istaći da formalna specifikacija Jave obuhvata
dvije relativno nezavisne cjeline: opis samog programskog jezika Java i opis fiktivnog računara
(platforme) za izvršavanje programa napisanih u Javi. Opis programskog jezika Java ne razlikuje
se mnogo od sličnih opisa za druge jezike opšte namjene. Novinu koju Java donosi je dakle opis
fiktivnog računara, nazvanog Java virtuelna mašina, za koji se Java programi prevode radi
izvršavanja.3

1
http://tutoriali.org/programski_jezik_java.html
2
Živković, D. Java programiranje. Univerzitet Singidunum, Beograd, 2019.
3
Živković, D. Java programiranje. Univerzitet Singidunum, Beograd, 2011.
4
JAVA PROGRAMSKI JEZIK

Java je dinamičan jezik što znači da za vrijeme rada (dinamički) može učitavati kod programa s
diska ili preko mreže i izvršavati ga. Ovo svojstvo je iskorišćeno u distribuisanim sistemima u
Javi kao što su applet-i, Java RMI (remote methos invocation) i sl. Isto tako je bitno da je
prevedeni Javin program spremeljen u više datoteka na disku tj. svaka klasa je smještena u svoju
datoteku. Ovo svojstvo omogućuje da se prilikom prevođenja prevedu samo klase koje su u
međuvremenu promijenjene. Za razliku od C++-a u kojem postoji problem stalnog prevođenja
(fragile superclass problem) gdje se svaki put moraju sve klase u programu ponovno prevoditi.

Sigurnost u Javi je ugrađena pomoću različitih mehanizama koji jedan drugog potpomažu.
Izbacivanjem pokazivača i korišćenjem referenci izbjegnut je neovlašćen pristup memoriji. Prije
izvršavanja oktetnih kodova (eng. bytecode) vrši se provjera poštuje li taj kod određena
sigurnosna pravila. Zavisno od toga s kojeg mjesta (lokalni disk, mreža) je kod učitan i je li
potpisan i od koga takav program onda ima ili nema određena prava pristupa.

Java predstavlja objektno orijentisan i univerzalan programski jezik, što znači da se može pisati i
pokretati na bilo kojem operativnom sistemu, a kod se piše u skladu s objektno orijentisanom
paradigmom.4

Za Java programski jezik može se reći da je:5


 specifikacija programskog jezika i standardni zbir klasa
 implementacija navedenog programskog jezika i njegovih pratećih datoteka (libraries) u
okolini prevođenja i izvođenja (compile and run time enviroment) za izradu i izvršavanje
aplikacija
 implementacija navedenog programskog jezika kao podskup ugrađenog koda u HTML
stranicama (applet)
 implementacija navedenog programskog jezika kao dodatak animaciji i interakciji kod
3D objekata i scena (VRML 2.0).

Svaku od datih stavki prezentuje drugačija implementacija Jave. Svaka od njih ima svojih
prednosti kao i ograničenja. Važno je razumjeti iako Java programski jezik podržava neke vrste
manifestacija, to ne znači da će pojedina manifestacija biti dopuštena ili čak moguća u svim
implementacijama. Posmatrano sa praktične strane, performansa i sigurnost nam ograničavaju
šta danas možemo napraviti unutar Java programskog okruženja. Programski jezik se koristi za
izdavanje instrukcija računaru da obavi konkretne poslove.

Svaki tip procesora računara (Intel, PowerPC, Sparc) ima poseban mašinski jezik i može izvršiti
neki program samo ako je taj program izražen na tom jeziku. Programi napisani na jeziku
visokog nivoa kao što su Java, C, C++, C#, Pascal itd., ne mogu se direktno izvršiti na računaru.
Takvi programi se moraju najprije prevesti na mašinski jezik odgovarajućeg procesora računara.
Ovo prevođenje programa na jeziku visokog nivoa u ekvivalentan program na mašinskom jeziku
obavljaju specijalni programi koji se zovu prevodioci (ili kompajleri).

4
Schildt, H. JAVA J2SE 5. Mikro knjiga, Zagreb, 2006.
5
http://www.linuxzasve.com/uvod-u-java-programiranje-prvi-dio
5
JAVA PROGRAMSKI JEZIK

U slučaju programskog jezika Java koristi se pristup koji je drugačiji od uobičajenog prevođenja
Java program na mašinski jezik stvarnog procesora računara. Međutim, programi napisani u Javi
se i dalje prevode na mašinski jezik, ali taj mašinski jezik nije jezik nekog stvarnog procesora
nego izmišljenog računara koji se naziva Java virtuelna mašina (skraćeno JVM). Mašinski jezik
Java virtuelne mašine se naziva Java bajtkod.6

Prema tome, Java program se prevodi u Java bajtkod koji se ne može direktno izvršiti na
stvarnom računaru. Za izvršavanje Java programa prevedenog u Java bajtkod potreban je dodatni
program koji interpretira instrukcije Java bajtkoda na stvarnom računaru. Ovaj interpretator Java
bajtkoda često se u žargonu pogrešno naziva istim imenom „Java virtuelna mašina”, što ponekad
dovodi do zabune jer treba razlikovati opis fiktivnog računara od specijalnog programa stvarnog
računara koji simulira instrukcije tog fiktivnog računara na stvarnom računaru. Šema izvršavanje
Java programa na različitim platformama prikazana je na sledećoj slici.

Slika 1. Izvršavanje Java programa na različitim platformama

3. ELEMENTI PROGRAMSKOG JEZIKA JAVE

Skup znakova koji koristimo u jeziku Java čine mala i velika slova engleskog alfabeta. Pravi se
razlika između malih i velikih slova kako u službenim dijelovima programa tako i unutar običnih
tekstova. Pod pojmom slova podrazumijevaju se mala i velika slova bilo kog alfabeta, a pod
pojmom cifre decimalne cifre. Mada jezik Java predviđa upotrebu slova svih alfabeta, u
službenom dijelu jezika koriste se samo slova engleskog alfabeta. Takođe, postoje radna
okruženja koja ne podržavaju upotrebu slova bilo kog alfabeta. Ona obično podržavaju upotrebu
slova engleskog alfabeta i, eventualno, još jedne grupe alfabeta. Na primjer: latinična slova
zapadno evropskih jezika, latinična slova istočnoevropskih jezika ili ćirilična slova.

Leksički simboli (tokens) su nedjeljivi nizovi znakova. U jeziku Java dijele se na identifikatore,
konstante, ključne riječi, operatore i separatore. Leksički simboli mogu da se pišu, uz nekoliko
izuzetaka, spojeno ili međusobno razdvojeno proizvoljnim brojem „bijelih” znakova. Bijeli znak
između leksičkih simbola je neophodan, ako bi se njegovim izostavljanjem dobio drugi postojeći
leksički simbol. U bijele znakove (white spaces) spadaju znak za razmak, tabulacija, vertikalna
tabulacija, prelazak u novi red i prelazak na novi list. U širem smislu, u bijele znakove se
ubrajaju i komentari. Komentari (comments) su proizvoljni tekstovi koji su namijenjeni čitaocu
6
Živković, D. Java programiranje. Univerzitet Singidunum, Beograd, 2019.
6
JAVA PROGRAMSKI JEZIK

teksta programa radi lakšeg razumijevanja namjene i funkcionisanja programa. Te tekstove


prevodilac zanemaruje.

U jeziku Java postoje tri vrste komentara:7


 Komentari započeti sa // obavezno traju do kraja reda i tu se završavaju. Zgodni su za
kratke komentare iza službenih elemenata s početka reda.
 Komentari stavljeni između /* i */ mogu da se stave između bilo koja dva leksička
simbola (kao i bijeli znakovi) i mogu da se protežu i kroz više redova. Mogu da posluže
kao kratki umeci unutar redova ili da sadrže duža objašnjenja.
 Komentari stavljeni između /** i */ su takozvani dokumentacioni komentari. Sadržaj
takvih komentara program javadoc iz kompleta JDK koristi za sastavljanje
dokumentacije programa. Mada i dokumentacioni komentari mogu da se umeću unutar
redova, oni se obično protežu na više redova.

Naredbe (statements) su nizovi leksičkih simbola. Dijele se na deklarativne i izvršne naredbe.


Deklarativnim naredbama (declarative statements) definišu se neki elementi programa (podaci,
funkcije, klase itd.), izvršnim naredbama (executive statements) izvode se elementarne obrade.
Programi su nizovi naredbi pomoću kojih se ostvaruju složene obrade podataka. Jezik Java ne
postavlja nikakve uslove za raspoređivanje naredbi po redovima teksta programa. Jedna naredba
može da se proteže u više redova i u jednom redu može da bude više naredbi. Osnovno načelo
treba da bude što veća preglednost teksta cjelokupnog programa.8

4. OSNOVNA GRAĐA PROGRAMSKOG JEZIKA JAVA

Dva su osnovna dijela programiranja: podaci i naredbe. Za rad s podacima potrebno je


razumijevanje varijabli i tipova, a za rad s naredbama potrebno je razumjeti upravljačke strukture
(control structures) i podprograme (subroutines).

Varijabla je samo lokacija u memoriji (ili nekoliko lokacija posmatrani kao jedinica) kojem je
dodijeljeno ime, kako bi se u programu mogao lako pozivati i koristiti. Programer treba voditi
računa samo o imenu, vođenje računa o memorijskom mjestu dužnost je kompilera. Programer
ne smije gubiti iz vida da ime upućuje na neku vrstu mjesta u memoriji koje može spremiti
podatke, čak i ako ne mora znati gdje je to tačno u memoriji.

U Javi i većini ostalih jezika varijabla ima tip (type) koji ukazuje na vrstu podataka koje može
spremiti. Jedna vrsta varijabli može sadržavati integer - sveobuhvatne vrijednosti, dok druga
sadrži floating point - brojeve s decimalnim mjestima. Računar pravi razliku između integer 17 i
floating point 17.0, odnosno, u računaru izgledaju sasvim različito. Takođe, postoje i tipovi za
pojedinačne znakove, nizove znakova, kao i za manje uobičajene tipove kao što su datumi, boje,
zvukovi ili bilo koji drugi tip podataka koje bi program mogao spremiti.
7
Fain, Y. Java 8 programiranje. Kompjuter biblioteka, Beograd, 2015.
8
Laslo, K. Programski jezik Java sa rešenim zadacima. Akademska misao, Beograd, 2013.
7
JAVA PROGRAMSKI JEZIK

Programski jezici uvijek imaju naredbe za stavljanje i vađenje podataka u i iz varijabli i za


obradu tih podataka. Na primjer, sljedeća „izjava dodjeljivanja“, koja se može pojaviti u Java
programu, kaže računaru da uzme podatak iz varijable „glavnica“, pomnoži taj broj sa 0.07 i
spremi rezultat u varijablu „kamata“:9
kamata = glavnica * 0.07;

Takođe, postoje i ulazne naredbe za uzimanje podataka od korisnika ili iz datoteka na diskovima
računara i izlazne naredbe za slanje podataka u suprotnom smjeru. Ove osnovne naredbe - za
pomicanje podataka s mjesta na mjesto i za obradu podataka su dijelovi za izradu svih programa.
Ovi dijelovi su složeni u složene programe korištenjem upravljačkih struktura i podprograma.

Program je niz naredbi. U običnom odvijanju računar izvodi ove naredbe redom kako se
pojavljuju jednu za drugom. Ovo je očito vrlo ograničen način jer bi računar vrlo brzo ostao bez
naredbi koje treba izvršiti. Upravljačke strukture su posebne naredbe koje mogu izmijeniti tok
odvijanja programa.10 Postoje dvije osnovne vrste upravljačkih struktura: petlje, koje
omogućavaju ponavljanje niza naredbi i grananja koja omogućavaju računaru da odluči između
više različitih postupaka ispitivanjem uslova koji se javljaju za vrijeme izvršavanja programa.

Na primjer, moguće je da ako je vrijednost varijable „glavnica“ veća od 10000, tada se „kamata“
računa množenjem sa 0.05; a ako nije tada se kamata računa množenjem glavnice sa 0.04.
Program treba neki način zapisa ove odluke. U Javi to je moguće ostvariti korištenjem sljedeće
„if“ naredbe:
if (glavnica > 10000)
kamata = glavnica * 0.05;
else
kamata = glavnica * 0.04;

Detalji za sada nisu bitni, važno je zapamtiti da računar može ispitati uslov i odlučiti na osnovu
toga šta dalje). Petlje se koriste kad istu radnju treba izvršiti više od jednom.

Na primjer, ako se želi ispisati natpis s imenom za svako ime u adresaru moglo bi se napisati
„Uzmi prvo ime i adresu i ispiši natpis; uzmi drugo ime i adresu i“... što vrlo brzo postaje jako
smiješno i moglo bi da uopšte ni ne raditi ako unaprijed nije poznato koliko imena zapravo ima.
Ono što bi zapravo trebalo napisati jeste: „Dok god ima imena za obradu, uzmi slijedeće ime i
adresu i ispiši natpis.“ Ovakvo ponavljanje se u programu izražava petljom.

Veliki programi su tako složeni da bi ih bilo gotovo nemoguće napisati bez da ih se „razbije“ u
lakše ostvarive dijelove. Podprogrami su jedan od načina ostvarivanja tog „razbijanja“.
Podprogram se sastoji od naredbi za izvršavanje nekog zadatka okupljenih u cjelinu s imenom.
Ime se kasnije koristi kao zamjena za čitav niz naredbi. Na primjer, ako je jedan od zadataka
9
Laslo, K. Programski jezik Java sa rešenim zadacima. Akademska misao, Beograd, 2013.
10
Laslo, K. Programski jezik Java sa rešenim zadacima. Akademska misao, Beograd, 2013.
8
JAVA PROGRAMSKI JEZIK

koje program mora izvršiti crtanje kuće na ekranu, potrebno je naredbe okupiti u podprogram i
dati mu prikladno ime, npr.: „nacrtajKucu()“. Nakon toga, na bilo kojem mjestu u programu gdje
je potrebno nacrtati kuću dovoljno je napisati jednu naredbu: „nacrtajKucu()“.

Ovo će imati učinak jednak kao ponavljanje svih naredbi za crtanje kuće na svakom mjestu.
Prednost nije samo u tome da je manje kucanja. Takođe, organizovanje programa u podprograme
pomaže sumiranju razmišljanja i napora u razvoju programa. Za vrijeme pisanja podprograma za
crtanje kuće moguće se koncentrisati isključivo na problem crtanja kuće, bez razmišljanja o
ostatku programa. Jednom kad je podprogram gotov, može se zaboraviti na detalje crtanja kuća -
taj problem je riješen. Podprogram postaje kao ugrađeni dio jezika koji je moguće koristiti bez
razmišljanja o tome šta se događa unutar podprograma.

Varijable, tipovi, petlje, grananja i podprogrami su osnova onog što bi se moglo nazvati
tradicionalnim programiranjem. Osim toga, kako programi rastu javlja se potreba za dodatnim
strukturama za rješavanje njihove složenosti. Jedno od najučinkovitijih sredstava je objektno
orijentisano programiranje.

Java sadži mnogo operatora koji se mogu podjeliti u četiri grupe:11


a) Aritmetički operatori - Aritmetički operatori se koriste u matematičkim izrazima, kao što
su: sabiranje (+), oduzimanje (-), množenje (*), djeljenje (/), ostatak pri djeljenju (%),
uvećanje za jedan-inkrement (++), umanjenje za jedan-dekrement (--), itd.
b) Operatori nad bitovima - Operatori sa bitovima rade sa pojedinačnim bitovima svojih
operanada, a neki od njih su: konjukcija (&), disjunkcija (|), pomjeranje udesno (>>),
pomjeranje uljevo (<<), negacija nad bitovima (~), itd.
c) Operatori poređenja - Operatori poređenja utvrđuju odnos jednog operanda prema
drugom, kao što su: jednako (==), različito (!=), veće (>), manje (<).Rezultat ovih
operacija je logička vrijednost (tip boolean, true ili false), a najčešće se koriste u izrazima
uslova if i u različitim petljama.
d) Logički operatori - Logički operatori rade samo sa operandima tipa boolean. Oni
kombinuju vrjednosti tipa boolean, da bi rezultat bio takođe boolean. Tako imamo:
logička konjukcija (&), logička disjunkcija (|), kratkospojena diskjunkcija (||),
kratkospojena konjukcija (&&), ! (logička unarna negacija), ?: (uslov dodjele), itd.

5. OSNOVNI JAVA PROGRAM

Program je niz naredbi koje računar izvršava da bi obavilo neki zadatak. Da bi računar mogao
izvršavati naredbe, one moraju biti pisane na računaru na razumljiv način, tj. u programskom
jeziku. Programski jezici se razlikuju od ljudskog, po svojoj jasnoći i strogoći, odnosno, šta je u
11
Arnold, K., Gosling,J., Holmes. D. The Java Programming Language. Prentice Hall, New York, 2006.
9
JAVA PROGRAMSKI JEZIK

programu dozvoljeno, a šta nije. Pravila koja određuju šta je dozvoljeno zovu se sintaksa jezika.
Sintaksna pravila određuju osnovni rječnik jezika i način na koji se programi mogu stvarati
koristeći petlje, grananja i podprograme. Sintaksno ispravan program je onaj koji je moguće
kompilirati ili izvršiti. Programi koji sadržavaju sintaksne greške će biti odbačeni uz poruku o
grešci. Dakle, kako bi postao uspješan programer, potrebno je detaljno poznavati sintaksu
korišćenog programskog jezika.

Sintaksa je, ipak, samo dio priče. Međutim, nije dovoljno samo napisati program koji radi,
potreban je program koji daje ispravan rezultat, dakle program mora imati smisao. Smisao
programa se zove semantika. Semantički ispravan program je onaj koji radi tačno ono šta
programer traži od njega.

Međutim, čak i kad se upozna sa svim pojedinačnim elementima jezika niste postali programer.
Još uvijek je neophodno naučiti kako stvarati složene programe za rješavanje određenih
problema. Za to su potrebni i iskustvo i vještina. Objašnjavanje Jave može se započeti na
uobičajen način: pisanjem programa koji ispisuje poruku „Hello World!“. Naizgled jednostavan
problem, ali ipak vrlo važan korak u savladavanju novog programskog jezika, gdje je potrebno
razumjeti osnovne postupke:12
1) Unos programskog teksta u računar,
2) Kompiliranje programa i
3) Izvršavanje kompiliranog programa.

Ovi koraci su različiti za razne računare i Java programerska okruženja. U osnovi se taj postupak
svodi na pisanje programa u nekom tekstualnom editoru i snimanje programa u neku datoteku.
Nakon toga određenom naredbom se program kompilira, nakon čega se dobija poruka o
sintaksnim greškama ili kompilirani program. U slučaju Jave, program se kompilira u bajt kod,
umjesto u strojni jezik. Na kraju se pokreće program odgovarajućom naredbom. U suštini,
programsko okruženje može obaviti neke od ovih koraka, ali se u pozadini zasigurno odvijaju
ista tri koraka.

Primjer: program „Hello World!“

/**
* HelloWorldApp klasa implementira aplikaciju koja
* ispisuje „Hello World!“ na standardni izlaz.
*/
public class HelloWorldApp {
public static void main(String[] args) {
// Ispiši "Hello World!"
System.out.println("Hello World!");
}

12
Schildt, H. Java Programming Cookbook. McGraw-Hill, New York, 2007.
10
JAVA PROGRAMSKI JEZIK

Prilikom pokretanja ovog programa, poruka „Hello world!“ (bez navodnika) će biti ispisana na
ekranu. Naredba koja zapravo ispisuje poruku je:

System.out.println("Hello World!");

Ova naredba je primjer poziva podprograma. Koristi „ugrađeni“ podprogram imena


System.out.println da bi obavio zadatak. Kao što je već rečeno, podprogrami se sastoje od
naredbi za izvršavanje nekog zadatka, okupljenih i sa određenim imenom. Ime se koristi da bi
mogli taj podprogram pozvati kad god treba izvršiti taj zadatak. Ugrađeni podprogram je već
definisan kao dio jezika i time dostupan u bilo kojem programu.

Znatiželja vas mora voditi kroz ostatak programa. Dio programa su komentari. Računar u
potpunosti zanemaruje komentare u programu, oni su samo za ljude. Međutim, komentari su vrlo
važni, bez njih razumijevanje programa može biti jako teško. Java ima dvije vrste komentara.
Prva vrsta počinje s: // i proteže se do kraja reda. Računar zanemaruje // i sve nakon toga u istom
redu. Druga vrsta komentara započinje s /* i završava s */ i može se protezati preko više redova.

Sve ostalo u programu je neophodno prema sintaksnim pravilima Jave. Svo programiranje u Javi
se obavlja u klasama. Prva linija u programu kaže da se klasa zove HelloWorld. Ime klase
HelloWorld ujedno služi i kao ime programa. Klasa nije program sama po sebi, da bi mogla
postati program klasa mora sadržavati podprogram imena main oblika:13
public static void main(String[] args)
izrazi

Kad se Java interpreteru naredi da izvrši program, on poziva main() podprogram i izvršava
naredbe unutar njega. Ove naredbe tvore skriptu koja govori računaru šta tačno treba raditi dok
se program izvršava. Main() podprogram može pozivati podprograme definisane unutar iste, pa
čak i drugih klasa, ali main() podprogram određuje kako i kojim redom će se koristiti drugi
podprogrami.

Ime u prvoj liniji je ime programa, i ujedno ime klase. Ako se klasa zove HelloWorld, treba biti
snimljena u datoteci HelloWorld.java, koja dakle sadrži source kod programa. Kada se ova
datoteka kompilira, nastat će datoteka HelloWorld.class koja sadrži Java bajt kod. Java
intrepreter izvršava Java bajt kod i za pokretanje programa ne trebate source kod.
6. POSTUPAK RAZVOJA PROGRAMA

1) Tačno odrediti problem koji se želi riješiti.


Programi se obično pišu da bi izvršili određeni zadatak, ali zadatak ne mora biti uvijek
jasan sam po sebi. Potrebno je prikupiti dodatne podatke da bi se zadatak mogao tačno

13
Liang, D. Introduction to Java Programming, Comprehensive Version. Prentice Hall, New York, 2008.
11
JAVA PROGRAMSKI JEZIK

odrediti. Jasno određivanje problema otklanja mogućnosti nesporazuma i olakšava


postupak razvoja programa.

2) Odrediti ulaze koje će program tražiti i izlaze koje će program stvarati.


Ulazi i izlazi programa moraju biti određeni da bi se program dobro uklopio s drugim
djelovima razvojnog postupka u jedinstvenu cjelinu.

3) Rastaviti program na klase i pripadajuće metode.


Odrediti jednu ili više klasa i njihovo djelovanje, međusobno i sa vanjskim svijetom. Za
svako međudjelovanje odrediti zasebnu metodu.

4) Razviti algoritme koji će biti primjenjeni u pojedinim metodama.


Algoritam je opis postupka korak po korak do konačnog rješenja problema. Potrebno je
pronaći logičan način za podjelu većih problema na manje sve dok se čitav zadatak ne
podijeli na niz malih, jednostavnih i lako razumljivih zadataka. Nakon toga, ti mali
zadaci se ponovo rastavljaju dok se ne dođe do dijelova koji se mogu iskazati Java
naredbama. Ovaj postupak se najčešće izvodi korištenjem pseudokoda.

5) Prevođenje algoritma u Java naredbe.


Ako je rastavljanje problema dobro obavljeno, ovaj korak se svodi na jednostavno
zamjenjivanje pseudokoda odgovarajućim Java naredbama.

6) Testiranje konačnog Java programa.


Najduži i najvažniji dio razvojnog postupka jeste testiranje Java programa. Dijelove
programa je potrebno, ako je moguće, prvo testirati pojedinačno, a zatim i program u
cjelini. Potrebno je provjeriti da program ispravno radi sa svim dozvoljenim vrstama
ulaznih podataka. Često se događa da se program pisan i testiran samo na uobičajenom
ulaznom skupu ruši ili daje netačne rezultate samo zbog korišćenja različitog ulaznog
skupa. Ako program sadrži grananja potrebno je provjeriti sva moguća grananja da bi se
provjerila ispravnost rada programa u svim mogućim uslovima.

7. OSNOVNI JAVA APLET

Aplet je posebna vrsta Java programa namijenjena distribuciji preko Interneta i automatskom
izvršavanju u čitačima Weba (Web browsers) koji podržavaju Javu. Tačnije, aplet je objekt koji
pripada klasi java.applet.Applet ili jednoj od podklasa te klase.
Aplet je dio grafičkog sučelja, prikazuje se u prozoru (bilo mrežnog pretraživača ili nekog
drugog programa), čini ga pravougaono područje u kojem su sadržani drugi elementi poput tipki
ili tekstualnih polja. Može prikazivati grafičke elemente kao što su slike, pravougaonici ili linije,
te može odgovarati na određene događaje (na primjer kad korisnik klikne negdje u apletu).14
14
Eck. D.J. Introduction to Programming Using Java. 2006. Free version at: http://math.hws.edu/javanotes, fifth
edition.
12
JAVA PROGRAMSKI JEZIK

Klasa Applet, definisana u paketu java.applet, služi samo kao osnova za izradu podklasa. Objekt
tipa Applet ima neka osnovna svojstva, ali zapravo ne radi ništa korisno, to je prazno područje na
ekranu koje ne odgovara ni na kakve događaje. Da bi dobio upotrebljiv aplet, programer mora
definisati podklasu koja nasljeđuje klasu Applet. U klasi Applet je definisano nekoliko metoda
tako da ne rade baš ništa, pa programer mora nadjačati bar neke od ovih metoda i dati im neko
značenje.

Apletu nije potrebna main() metoda jer on i nije samostalni program, iako više metoda u apletu
podsjećaju na main() time što je zamišljeno da ih poziva sistem, a programer treba definisati
odgovor na te pozive.

ZAKLJUČAK

Postoji puno drugačijih programskih jezika koji se koriste ili se tek razmatraju mogućnosti
njihovih upotreba. Ono što daje velik korak prednosti Javi pred ostalim programskim jezicima je
njena podržanost (postoji na svim operativnim sistemima gdje postoji Netscape program, što
znači mnogo operativnih sistema), besplatnost za nekomercijalnu upotrebu (barem do ovog
13
JAVA PROGRAMSKI JEZIK

časa), kao i prenosivost izvršnog tj. bajtnog koda uz garantirano izvršavanje bez obzira na
arhitekturu ili operativni sistem računara (naravno, ako se radi o istoj verziji Java prevodioca i
interpretera te uz uslov da se ne koriste osnovne metode proširivanja standardnog zbira Javinih
instrukcija).

Java programski jezik danas je jedan od najraširenijih programskih jezika, i spada u grupu
objektno-orijentisanih programskih jezika. Java osim samog programskog jezika ujedno definiše
i cijelo okruženje u kojem se programi izvode, nudeći pri tome vrlo velik broj gotovih biblioteka
i funkcija. Zahvaljujući tome, pisanje programa može ići vrlo brzo i efikasno. Osim toga, Java
programi ne prevode se direktno u instrukcije procesora na kojem se izvršava razvojna okolina,
već u poseban međuformat poznat kao byte-code. Na svim popularnijim operacijskim sistemima
danas postoje Java virtuelne mašine (Java virtual machine) koje izvršavaju generisani byte-code.
Programi pisani u Javi zbog toga se mogu smatrati potpuno platformski nezavisnima, i jednako
se mogu izvršavati na primjer Microsoft Windows, kao i Linux operativnim sistemima.

U suštini, programski jezik Java nema nikakve veze sa Java virtuelnom mašinom. Programi
napisani u Javi bi se svakako mogli prevoditi u mašinski jezik stvarnog računara. Ali i obrnuto,
programi na drugom programskom jeziku visokog nivoa bi se mogli prevoditi u Java bajtkod.
Ipak, kombinacija Java jezika i Java virtuelne mašine obezbjeđuje programiranje na modernom,
objektno orijentisanom jeziku i istovremeno bezbjedno izvršavanje napisanih programa na
različitim tipovima računara.

Naučiti programski jezik Javu (u najužem mogućem smislu riječi) može se vrlo brzo: pravila
pisanja koda su vrlo jednostavna, ključnih riječi nema puno (par desetaka) i to se sve može
naučiti ekspresno. Međutim, jezik sam po sebi je zapravo poprilično beskoristan. Da bi se mogli
djelotvorno pisati programi, potreban nam je skup biblioteka čijom ćemo upotrebom moći
obavljati željene funkcije (pristupiti datoteci, stvoriti prozor u grafičkom korisničkom sučelju,
raditi s različitim vrstama podatkovnih kolekcija i slično). Osnovni skup biblioteka koje
programeru stoje na raspolaganju dio su Java platforme i opisane su u okviru dokumenta Java
API. Nezavisno od platforme na kojoj se Java program izvodi, programeru se garantuje da će mu
na raspolaganju biti sve bibloteke koje su opisane u okviru tog dokumenta.

LITERATURA:

1) Arnold, K., Gosling,J., Holmes. D. The Java Programming Language. Prentice Hall,
New York, 2006.
2) Eck. D.J. Introduction to Programming Using Java. 2006. Free version at:
http://math.hws.edu/javanotes, fifth edition.
14
JAVA PROGRAMSKI JEZIK

3) Fain, Y. Java 8 programiranje. Kompjuter biblioteka, Beograd, 2015.


4) Laslo, K. Programski jezik Java sa rešenim zadacima. Akademska misao, Beograd, 2013.
5) Liang, D. Introduction to Java Programming, Comprehensive Version. Prentice Hall,
New York, 2008.
6) Schildt, H. JAVA J2SE 5. Mikro knjiga, Zagreb, 2006.
7) Schildt, H. Java Programming Cookbook. McGraw-Hill, New York, 2007.
8) Živković, D. Java programiranje. Univerzitet Singidunum, Beograd, 2019.
9) Živković, D. Java programiranje. Univerzitet Singidunum, Beograd, 2011.
10) http://tutoriali.org/programski_jezik_java.html
11) http://www.linuxzasve.com/uvod-u-java-programiranje-prvi-dio

15

You might also like