Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 27

Univerzitet Vitez Travnik

Fakultet Poslovne informatike


Studij I ciklusa; I godina
Smijer: Poslovna informatika

- Programski jezik JavaSEMINARSKI RAD

Travnik 20. 05. 2015


Univerzitet Vitez Travnik
Fakultet Poslovne informatike
Studij I ciklusa; I godina
Smijer: Poslovna informatika

- Programski jezik JavaSEMINARSKI RAD

IZJAVA: Ja, Amel Nebi, student Sveuilita/Univerziteta Vitez Travnik,


Indeks broj: 033-14/DPI odgovorno i uz moralnu i akademsku odgovornost
izjavljujem da sam ovaj rad izradio potpuno samostalno uz koritenje citirane
literature i pomo profesora odnosno asistenta.

STUDENT: Amel Nebi


PROFESOR: Doc. dr Sinia Mini
ASISTENT: : mr. sc. Mahir Zajmovi
PREDMET: Principi programiranja

Potpis studenta:_________________

SADRAJ
UVOD...................................................................................................................... 1
NASTANAK PROGRAMSKOG JEZIKA JAVA.................................................................2
DEFINISANJE JAVE................................................................................................... 3
POPULARNOST JAVE................................................................................................ 4
ELEMENTI PROGRAMSKOG JEZIKA JAVE...................................................................6
ZATO UITI PROGRAMSKI JEZIK JAVU?..................................................................8
THE JAVA VIRTUAL MACHINE - JVM.........................................................................9
KULTURA INOVACIJA.............................................................................................. 10
JAVA JEZIK ZA PISANJE APLIKACIJA........................................................................11
PODACI I NAREDBE KAO OSNOVNI DIJELOVI PROGRAMA......................................12
JAVA PROGRAM..................................................................................................... 14
POSTUPAK RAZVOJA PROGRAMA..........................................................................16
OSNOVNI JAVA APLET............................................................................................ 17
PROGRAMIRANJE U JAVA....................................................................................... 18
ZADACI U PROGRAMSKOM JEZIKU JAVA.................................................................19
ZAKLJUAK........................................................................................................... 23
LITERATURA.......................................................................................................... 24

UVOD

Seminarski rad posveen je programskom jeziku Java. Kao to je i sam naslov, ovdje emo
govoriti o samom programskom jeziku zvanom Java. Dakle, biti e pojanjena sintaksa jezika.
Skup tano odreenih pravila koje programeri moraju znati i kojih se moraju pridravati kako bi
raunalo napravilo ono to i elimo. Da bi razumjeli ovaj seminarski rad moramo razumijeti
razloge koji su uticali na stvaranje programskog jezika Java i znati razmiljati kao programer.
Ovaj seminarski rad zapoet emo sa nastankom Jave a zavriti programima.
U prvom poglavlju s naslovom uvod definisan je cilj seminarskog rada obrazloena struktura
rada te opisan sadraj odreenih poglavlja.
Drugo poglavlje ima naslov nastanak programskog jezika gdje emo saznati kako i zato je Java
nastala i ta je ini tako vanom i kako se mijenjala tokom godina. Dalje, emo definisati
programski jezik Java i navesti njene prednosti i elemente. Onda emo obrazloiti zato uiti
programski jezik java.Dalje emo se upoznati sa mainskim jezikom Dava Virtual Machine i sa
pisanjem aplikacija u Javi i na kraju programiranje u Javi.

Posljednje poglavlje sa naslovom zakljuak zavrni je dio seminarskog rada u kojem je saet
cijeli rad. Ma kraju rada iza posljednjeg poglavlja nalazi se popis literature koja je koritena pri
izradi ovog seminarskog rada

NASTANAK PROGRAMSKOG JEZIKA JAVA

Java je programski jezik, koji je razvila kompanija Sun Microsystems pocetkom 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 objektnoorijentisane paradigme. Osim toga jezik ima sintaksu iz C i C++-a, ali je mnogo stroiji pri
prevodenju, dizajniran tako da bude nezavistan od platforme, i sa pojednostavljenim
upravljanjem memorijom. Pretpostavlja se da je ovo uradeno zbog popularnosti jezika C, ali i
zbog jednostavnosti nekih struktura. Prva verzija je zvanicno objavljena 1995. Godine.1
Zvaninog najavljivanja Jave u prolee 1995, doprinijelo je dosta osoba u razvijanju ovog jezika.
Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin i Tim Lindholm bili su glavni saradnici
na usavravanju prvobitnog prototipa. Donekle iznenauje to to glavni pokreta za razvoj Jave
nije bio Internet!
Iako je postala nerazdvojivi deo mrenog okruenja Interneta, treba istai da je Java na prvom
mestu programski jezik. Osnovni motiv je bila potreba za jezikom nezavisnim od raunarske
platforme (tj. neutralnim u odnosu prema arhitekturi), koji bi se mogao koristiti za pravljenje
softvera namjenjog razliitim elektronskim ureajima u domainstvu, kao to su mikrotalasne
penice i daljinski upravljai. Moda i sami pogaate da se kao kontroleri ovakvih ureaja
koriste razliiti tipovi procesora. Internet je pomogao da se Java probije u prve redove
programiraa, a Java je, za uzvrat, jako uticala na Internet. Objanjenje je sasvim jednostavno:
Java iri skup objekata koji se slobodno mogu kretati kiber-prostorom. Na mrei izmeu servera i
vaeg linog raunara kreu se dve veoma iroke kategorije objekata: pasivni podaci i dinamiki,
aktivni programi.
Na primer,
1

http://tutoriali.org/programski_jezik_java.html

Kada itate poruku elektronske pote, vi gledate pasivne podatke. ak i kada sa mree preuzmete
neki program, i njegov kd je pasivan sve dok ga ne pokrenete. Meutim, postoji i druga vrsta
objekata koja se moe preneti: dinamiki program koji se automatski izvrava. Takav program je
aktivni agens u klijentskom raunaru, pa ipak, aktivira se sa servera.
Na primer,
Server moe da obezbedi program za ispravno prikazivae podataka koje alje klijentu. Iako su
dinamiki programi koji rade preko mree poeljni, oni donose i ozbiljne probleme iz domena
bezbednosti i prenosivosti. Pre nego to se pojavila Java, kiber-prostor je praktino bio zatvoren
za polovinu itelja koji u njemu sada obitavaju. Videete da se Java bavi pomenutim problemima
i da je na taj nain otvorila vrata novom obliku programa: apletu. 2
DEFINISANJE JAVE

Java je objektno orijentiran i univerzalan programski jezik, to znai da ju moete pisati i


pokretati na bilo kojem operativnom sustavu, a kod piete u skladu s objektno orijentiranom
paradigmom.3 Moemo rei da je Java:

specifikacija programskog jezika i standardni zbir klasa


implementacija navedenog programskog jezika i njegovih prateih datoteka (libraries)
u okolici prevoenja i izvoenja (compile and run time enviroment) za izradu i

izvravanje aplikacija
implementacija navedenog programskog jezika kao podskup ugraenog koda u HTML

stranicama (applet)
implementacija navedenog programskog jezika kao dodatak animaciji i interakciji kod
3D objekata i scena (VRML 2.0)

Herbert Schildt, JAVA J2SE 5, MIKRO KNJIGA, ZAGREB, 2006

www.linuxzasve.com/uvod-u-java-programiranje-prvi-dio#sthash.N6tC9IlM.dpuf

Svaku od danih podstavaka prezentira drugaija implementacija Jave. Svaka od njih ima svojih
prednosti kao i ogranienja. Vano je razumjeti iako Java programski jezik podrava neke vrste
manifestacija, to ne znai da e pojedina manifestacija biti doputena ili ak mogua u svim
implementacijama. Gledano s praktine strane, performansa i sigurnost nam ograniavaju to
danas moemo napraviti unutar Java programskog okruenja. Programski jezik se koristi za
izdavanje instrukcija raunaru da obavi konkretne poslove.
POPULARNOST JAVE

Programski jezik Java stekao je veliku popularnost zbog svoje elegancije i savremene koncepcije.
Programi napisani u Javi mogu se nai u mobilnim ureajima , Internet stranama i mnogim
drugim okruenjima ljudskog djelovanja.4
Prvi razlog za popularnost je njena cena potpuno je besplatna!. Mnogi drugi programski jezici
prodaju ce po ceni od vie stotina ili hiljada dolara, to je za veinu ljudi glavna prepreka da
ponu da ue programiranje.
Drugi razlog za popularnost Jave je to to je Java programi mogu da se izvravaju na skoro
svakom tipu raunara. Kaemo da su Java programi nezavisni od platforme na kojoj se
izvravaju. Java moe da se koristi za razvoj raznovrsnih aplikacija. Postoje jednostavni
tekstualno-zasnovani programi koji se nazivaju konzolnim aplikacijama. Takvi programi
podravaju samo tekstualni unos i ispis na monitoru vaeg rauanara. Takoe, moete da pravite
aplikacije sa grafikim korisnikim interfejsom (engl. Graphical User Interface GUI). Ove
aplikacije raspolau sa menijima, paletama alatki, dugmadima, trakama za pomeranje sadraja
drugim kontrolama koje reaguju na mia. Primeri GUI aplikacija koje ste u svom radu na
raunaru ve koristili su programi za obradu teksta, programi za rad sa tabelama i raunarske
igrice. Takoe, moete praviti i aplikacije koje se nazivaju apleti (engl. Applets). To su male GUI
aplikacije koje mogu da se izvravaju unutar web stranice. Apleti daju dinaminost web
stranicama. Mislim da ste ve uvideli univerzalnost programskog jezika Java. Na ovom kursu
krenuemo od prostih konzolnih aplikacija. To e nam omoguiti da se koncentriemo na uenje
4

Dejan ivkovi Java programiranje.Univerzitet Singidunum Beograd 2011.god

osnova Jave bez uputanja u svet grafikog korisnikog interfejsa. Drugo popularno svojstvo Jave
je to to je ona objektno orijentisana. To je fini nain da se kae da su Java programi sainjeni od
vie osnovnih delova (komponenti) koji mogu da se vie puta koriste. To za vas kao Java
programera znai da moete da pravite i menjate velike programe bez veih komplikacija. Tokom
ovog kursa vie puta ete se sresti sa terminom objekt (engl. Object), a tokom izlaganja kursa taj
koncept e vam postati jasan. Poslednja prednost Jave je to to je ona prost jezik,u poreenju sa
drugim programskim jezicima i zbog toga se relativno lako ui. Ta jednostavnost je neophodna da
bi se podrala nezavisnost Java aplikacija od tipa platforme (sposobnost da se izvrava na
svakom tipu raunara). Meutim, ta jednostavnost ne znai da Java nije moan programski jezik.
Moete pomou Jave da uradite sve ono to moete da uradite sa bilo kojim mnogo sloenijim
programskim jezikom.
Postoji puno drugaijih programskih jezika koji se koriste ili se tek razmatraju mogue upotrebe
glede Internet pretraioca. Ono to daje velik korak prednosti Javi pred ostalim programskim
jezicima je njena podranost (postoji na svim operativnim sistemima gdje postoji Netscape
program, to znai mnogo operativnih sistema), besplatnost za nekomercijalnu upotrebu (barem
do ovog asa) te prenosivost izvrnog tj. bajtnog koda uz garantirano izvravanje bez obzira na
arhitekturu ili operativni sistem raunala (naravno, ako se radi o istoj verziji Java prevodioca i
interpretera te uz uvjet da ne koristimo native metode proirivanja standardnog zbira Javinih
instrukcija).
Po primjerima iz prakse, dosad je programiranje HTML-baziranih servisa inila papazjanija
sainjena od FORM oznake i forme unutar HTML stranice, perl i sh skripti ili C-programa za
obradu podataka pribavljenih sa forme, te driver programa za pristup bazi podataka pisanog
najee u C-u. Ako ste se eljeli baviti programiranjem mrenih HTML-baziranih servisa,
obino je preporuka glasila da pored osnovnog znanja barem HTML 2.0 specifikacija nauite
programirati u C-u i perl-u a koristiti i pisati sh skripte ete ionako "usput" nauiti.
Sada je nuno i dovoljno znati da vam od HTML specifikacija treba
<html><body><applet code="MyApplet.class" width=XXX
height=YYYY></applet></body></html>

.. te znanje programiranja u Javi.


Sama Java je daleko od savrenog programskog jezika. Zabiljeene su duge rasprave o tome kako
bi bilo izvedivo napisati drugaiji compiler ili tonije cross-compiler program koji bi prevodio
neki drugi, jednostavniji i bolji izvorni kod u postojei Javin bajtni kod. Na taj nain se ne bi
izgubilo apsolutno nita od trenutnih dobrih karakteristika kao to je prenosivost bajtnog koda i
njegovo izvravanje na svim podranim platformama raunala.
Osim toga, veliki dijelovi Jave kao programskog jezika su ve odbaeni kao neadekvatni,
gledajui unatrag prema niim verzijama. Izvrstan primjer toga je AWT (Abstract Window
Toolkit -- zbir grafikih alata) za koji sami tvorci Jave tvrde da je hack (na brzinu napravljen
samo da proradi) i za to optuuju Netscape koji ih je manirama robo vlasnika tjerao na
pridravanje rokova te da to ranije zavre sa projektom.

ELEMENTI PROGRAMSKOG JEZIKA JAVE

Skup znakova koji koristimo u jeziku Java ine mala i velika slova engleskog alfabeta Pravi se
razlika izmeu malih i velikih slova kako u slubenim delovima programa tako i unutar obinih
tekstova. U nastavku teksta pod pojmom slova podrazumevaju se mala i velika slova bilo kog
alfabeta, a pod pojmom cifre decimalne cifre. Mada jezik Java predvia upotrebu slova svih
alfabeta, u slubenom delu jezika koriste se samo slova engleskog alfabeta. Takoe, postoje radna
okruenja koja ne podravaju upotrebu slova bilo kog alfabeta. Ona obino podravaju upotrebu
slova engleskog alfabeta i, eventualno, jo jedne grupe alfabeta. Na primer: latinina
slovazapadno evropskih jezika, latinina slova istonoevropskih jezika ili irilina slova.
Leksiki simboli (tokens) su nedeljivi nizovi znakova. U jeziku Java dele se na identifikatore,
konstante, kljune rei, operatore i separatore. Leksiki simboli mogu da se piu, uz nekoliko
izuzetaka, spojeno ili meusobno razdvojeno proizvoljnim brojem belih znakova. Beo znak
izmeu leksikih simbola je neophodan, ako bi se njegovim izostavljanjem dobio drugi postojei
leksiki simbol. U bele znakove (white spaces) spadaju znak za razmak, tabulacija, vertikalna
tabulacija, prelazak u novi red i prelazak na novi list. U irem smislu, u bele znakove se ubrajaju i
komentari. Komentari (comments) su proizvoljni tekstovi koji su namenjeni itaocu teksta
programa radi lakeg razumevanja namene i funkcionisanja programa. Te tekstove prevodilac
zanemaruje.
9

U jeziku Java postoje tri vrste komentara: Komentari zapoeti sa // obavezno traju do kraja reda
i tu se zavravaju. Zgodni su za kratke komentare iza slubenih elemenata s poetka reda.
Komentari stavljeni izmeu /* i */ mogu da se stave izmeu bilo koja dva leksika simbola (kao i
beli znakovi) i mogu da se proteu i kroz vie redova. Mogu da poslue kao kratki umeci unutar
redova ili da sadre dua objanjenja. Komentari stavljeni izmeu /** i */ su takozvani
dokumentacioni komentari. Sadraj takvih komentara program javadoc iz kompleta JDK koristi
za sastavljanje dokumentacije programa. Mada i dokumentacioni komentari mogu da se umeu
unutar redova, oni se obino proteu na vie redova. Naredbe (statements) su nizovi leksikih
simbola. Dele se na deklarativne i izvrne naredbe. Deklarativnim naredbama (declarative
statements) definiu se neki elementi programa (podaci, funkcije, klase itd.), izvrnim naredbama
(executive statements) izvode se elementarne obrade. Programi su nizovi naredbi pomou kojih
se ostvaruju sloene obrade podataka. Jezik Java ne postavlja nikakve uslove za rasporeivanje
naredbi po redovima teksta programa. Jedna naredba moe da se protee u vie redova i u jednom
redu moe da bude vie naredbi. Osnovno naelo treba da bude to vea preglednost teksta
celokupnog programa.5

ZATO UITI PROGRAMSKI JEZIK JAVU?

Postoji vie razloga za to. Prvo, ukoliko znate da programirate, razumeete bolje kako raunari
rade. Drugo, pisanje programa je dobra veba za razvijanje vetine razmiljanja morate dobro
logiki da razmiljate da biste napisali raunarske programe.. Takoe, morate pomalo biti i
Laslo Kraus PROGRAMSKI JEZIK Java sa reenim zadacimaAKADEMSKA MISAO
Beograd, 2013
5

10

perfekcionista, raunari nisu toliko pametni i zato zahtevaju strogo precizne instrukcije da bi
obavili svoje poslove. Tree, raunarski programeri su veoma traeni i zarauju mnogo novca. Na
kraju, pisanje raunarskih programa je zabavno. Posebno je zadovoljstvo kada vidite svoju ideju
kako ivi na ekranu raunara. Zbog jednostavnosti Jave, brzo ete nauiti kako se piu Java
programi. Meutim, to to ete brzo napisati svoj prvi Java program ne znai da ste nauili sve
to treba da znate o Javi. Ovaj kurs je samo kratak uvod u Javu, stoga smatrajte ga kao prvi korak
na putu koji vodi do zvanja Java programera. Potrebni resursi Da biste pisali i izvravali Java
programe, potreban vam je Java Software Development Kit (Java SDK). To je besplatan proizvod
koji moete preuzeti preko Interneta. To jednostavno znai da ete iskopirati tzv. instalacionu
datoteku na svoj raunar, pokrenuti instalaciju i zatim poeti sa radom. Ovaj proizvod moete
nai na adresi http://java.sun.com. U sledeem nastavku bie opisano kako da preuzmete i
instalirate ovaj softver. Java za mlade programere (2) Preuzimanje i instaliranje programa Da
biste pisali i izvravali Java programe, potreban vam je Java Software Development Kit (SDK).
Radi se o besplatnom proizvodu koji moete preuzeti preko Interneta. To jednostavno znai da
moete da kopirate tu datoteku na svoj raunar i zatim instalirate taj paket. Potrebno je zato da
uradite sledee: Pokrenite svoj pretraiva weba (Internet Explorer, Netscape ili neki drugi) i
odete na web sajt firme Sun Microsystems: http://java.sun.com Taj sajt sadri obilje korisnih
informacija o Javi. to vie budete programirali u Javi, to ete sve ee poseivati ovaj sajt u
potrazi za reenjima svojih problema.6

http://download.tutoriali.org/Tutorials/JAVA/Java_za_mlade_programere.pdf

11

THE JAVA VIRTUAL MACHINE - JVM

Projektanti Jave su se odluili na koritenje kombinacije kompilacije i interpretiranja.


Programi pisani u Javi se prevode u mainski jezik, ali u mainski jezik raunara koje
zapravo ne postoji. Ovaj takozvani prividni (virtual) raunar se zove "Java Virtual Machine".
Mainski jezik za Java Virtual Machine se zove Java bytecode. Ipak, jedna od glavnih
prednosti Jave je da zapravo moe biti koritena na bilo kojem raunaru. Sve to je na tom
raunaru potrebno je interpreter za Java bajt kod. Takav interpreter oponaa Java virtual
machine na isti nain kao to prividno raunar oponaa PC.
Mainski jezik sastoji se od naredbi koje CPU moe direktno izvravati.
Kompajler (compile)prevodi program visokog nivoa u izvrni mainski program.Jednom
preveden program moe se izvravati neogranien broj puta ali samo na jednoj vrsti raunara.
Interpreter je program koji prevodi instrukciju po instrukciju izvornog koda i daje mogunost
korienja programa u mainskom jeziku namenjenog za jedan tip raunara, na sasvim
drugom rauna

Ipak, jedna od glavnih prednosti Jave je da zapravo moe biti koritena na bilo kojem
raunaru. Sve to je na tom raunaru potrebno je interpreter za Java bajt kod. Takav
interpreter oponaa Java virtual machine na isti nain kao to prividno raunar oponaa PC.
Java interpreter je potreban za svaku vrstu raunara, ali nakon to raunar dobije Java bajt kod
interpreter, moe izvravati bilo koji Java bajt kod program. A isti taj Java bajt kod program
moe biti izvren na bilo kojem raunaru koje ima takav interpreter. Ovo je jedna od glavnih
osobina Jave: isti kompilirani program se moe izvravati na vie razliitih vrsta raunara.

KULTURA INOVACIJA

Java je od svojih poetaka bila u sreditu kulture inovacija. Njeno prvo izdanje promenilo
je definiciju programiranja za Internet. Javina virtuelna maina (JVM) i bajt kd izmenili
su nain razmiljanja o bezbednosti i prenosivosti. Aplet (a potom i servlet) oivjeli i su
dotad statian Internet. Proces Javine zajednice (Java Community Process, JCP) promenio
je nain usvajanja novih ideja i njihovog prenoenja u jezik. Svet Jave nikada nije dugo
stajao u mestu. Izdaem J2SE 5 stvorena je nova Java, prilagoena potrebama programskog
okruenja koje se stalno mjenja. Java ponovo predvodi razvoj programskih jezika.7

7 Herbert Schildt, JAVA J2SE 5, MIKRO KNJIGA, ZAGREB, 2006

JAVA JEZIK ZA PISANJE APLIKACIJA

Javu ne

koristimo samo kao dodatak vlastitim Web HTML stranicama tako da rade

interesantne efekte sa slikama ili raunaju koliko ste dana ili minuta stari. Javu moemo
koristiti isto kao C++ za pisanje stand-alone aplikacija.
Postupak je sljedei:

PREVODIMO JAVA IZVORNI OD U TZV BAJTNI KOD


IZVRAVAMO BAJTNI KOD INTERPRETIRANJEM UNUTAR
JAVINE IRTUALNE MAINE ( JVM )
Vidimo da je po strukturi implementacije programskog jezika Java negdje na prijelazu
izmeu dosad kristalno jasnih definicija pojmova kompajler i interpreter. Ona spada u obje
klasifikacije dok uistinu nije potpuno niti jedna od njih.
Sm bajtni kod je dosta manji od ekvivalentnog izvrnog koda, recimo, C-a, ali brzina
njegovog interpretiranja daleko zaostaje naspram brzine izvravanja ekvivalentnih programa
pisanih u C-u. Alternativno rjeenje je u koritenju tzv. just-in-time interpretiranja, gdje Javina
Virtuelna Maina prebacuje bajtni kod u native kod prije samog izvravanja. To za manje
aplikacije prua razumnu performansu uz zadranu prenosivost izvrnog koda.
Meutim, ak i toliko naglaavana prenosivost moda ne poiva na vrstim temeljima. Iole
vee aplikacije e vjerojatno uslijed ogranienja nametnutih standardnim Java okruenjem
biti prisiljene koristiti vlastita korisnika suelja u vidu native library datoteka (JNI) ijim se
funkcijama proiruju mogunosti Jave. U tom sluaju mada je osnovna aplikacija prenosiva,
morat e se prilagoavati od operativnog sistema do razliitih arhitektura raunala library
datoteke pisane u C/C++-u bez kojih osnovna aplikacija nee moi raditi. 8

PODACI I NAREDBE KAO OSNOVNI DIJELOVI PROGRAMA

http://web2tools-technologies.wikispaces.com/Java

Podaci i naredbe su dva osnovna dela programiranja . Za rad s podacima potrebno je


razumevanje varijabli i tipova, , a za rad s naredbama potrebno je razumeti upravljake
strukture i potprograme.
Varijabla je samo lokacija u memoriji (ili nekoliko lokacija promatranih kao jedinica) kojoj je
dodeljeno ime . Programer treba voditi rauna samo o imenu, voenje rauna o memorijskom
mestu dunost je kompajlera.
Program je niz naredbi U obinom odvijanju raunar izvodi ove naredbe redom kako se
pojavljuju jednu za drugom. Ovo je vrlo ogranien nain jer bi raunar vrlo brzo ostao bez
naredbi koje treba izvriti. Upravljake strukture su posebne naredbe kojekoje mogu
izmijeniti tok odvijanja programa.

Postoje dvije osnovne vrste upravljakih struktura: petlje, koje omoguavaju ponavljanje niza
naredbi i grananja koja omoguuju raunaru da odlui izmeu vie razliitih postupaka
ispitivanjem uslova koji se javljaju za vreme izvravanjaprograma.
Na primjer, ako se eli ispisati natpise s imenom za svako ime u adresaru moglo bi se napisati
"Uzmi prvo ime i adresu i ispii natpis; uzmi drugo ime i adresu i" to vrlo brzo postaje jako
smijeno i moglo bi uope ni ne raditi ako unaprijed nije poznato koliko imena zapravo ima.
Ono to bi zapravo htjeli rei je neto kao: "Dok god ima imena za obradu, uzmi slijedee ime
i adresu i ispii natpis." Ovakvo ponavljanje se u programu izraava petljom.
Potprogram se sastoji od naredbi za izvravanje nekog zadatka okupljenih u celinu s imenom.
Ime se kasnije koristi kao zamena za itav niz naredbi. Na primjer, ako je jedan od zadataka
koje program mora izvriti crtanje kue 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 kuu dovoljno je napisati jednu naredbu:

nacrtajKucu();

Ovo e imati uinak jednak kao ponavljanje svih naredbi za crtanje kue na svakom mjestu.
Prednost nije samo u tome da je manje kucanja. Organiziranje programa u podprograme
takoer pomae organiziranju razmiljanja i napora u razvoju programa. Za vrijeme pisanja

podprograma za crtanje kue mogue se koncentrirati iskljuivo na problem crtanja kue, bez
razmiljanja o ostatku programa. Jednom kad je podprogram gotov, moe se zaboraviti na
detalje crtanja kua - taj problem je rijeen. Podprogram postaje kao ugraeni dio jezika koji
je mogue koristiti bez razmiljanja o tome to se dogaa unutar podprograma.
Organizovanje programa u podprograme takoe pomae organiziovanju razmiljanja i napora
u

razvoju

programa.

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 reavanje njihove sloenosti. Jedno od takvih sredstava je objektivno
orijentisano programiranje.
Program je niz naredbi. U obinom odvijanju raunalo izvodi ove naredbe redom kako se
pojavljuju jednu za drugom. Ovo je oito vrlo ogranien nain jer bi raunalo vrlo brzo ostalo
bez naredbi koje treba izvriti.
Upravljake strukture su posebne naredbe koje mogu izmijeniti tok odvijanja programa.
Postoje dvije osnovne vrste upravljakih struktura: petlje, koje omoguavaju ponavljanje niza
naredbi i grananja koja omoguuju raunalu da odlui izmeu vie razliitih postupaka
ispitivanjem

uvjeta

koji

se

javljaju

za

vrijeme

izvravanja

programa.

Na primjer, mogue je da ako je vrijednost varijable "glavnica" vea od 10000, tada se


"kamata" rauna mnoenjem sa 0.05; a ako nije tada se kamata rauna mnoenjem glavnice sa
0.04. Program treba neki nain zapisa ove odluke. U Javi to je mogue ostvariti koritenjem
sljedee "if" naredbe:
if (glavnica > 10000)
kamata = glavnica * 0.05;
else
kamata = glavnica * 0.04;
Detalji za sada nisu bitni, vano je zapamtiti da raunalo moe ispitati uvjet i
odluiti na osnovu toga to dalje)
Petlje se koriste kad istu radnju treba izvriti vie od jednom.

Na primjer, ako se eli ispisati natpise s imenom za svako ime u adresaru moglo bi se napisati
"Uzmi prvo ime i adresu i ispii natpis; uzmi drugo ime i adresu i" to vrlo brzo postaje jako
smijeno i moglo bi uope ni ne raditi ako unaprijed nije poznato koliko imena zapravo ima.

Ono to bi zapravo htjeli rei je neto kao: "Dok god ima imena za obradu, uzmi slijedee ime
i adresu i ispii natpis." Ovakvo ponavljanje se u programu izraava petljom.
JAVA PROGRAM

Program je niz naredbi koje raunalo izvrava da bi obavilo neku zadau.


Da bi raunalo moglo izvravati naredbe, one moraju biti pisane na raunalu razumljiv nain,
tj. u programskom jeziku. Programski jezici se razlikuju od ljudskog po svojoj jasnoi i
strogosti to je u programu dozvoljeno, a to nije. Pravila koja odreuju to je dozvoljeno
zovu se sintaksa jezika. Sintaksna pravila odreuju osnovni rjenik jezika i nain na koji se
programi mogu stvarati koristei petlje, grananja i podprograme. Sintaksno ispravan program
je onaj koji je mogue kompilirati ili izvriti. Programi koji sadravaju sintaksne greke e biti
odbaeni uz poruku o greci. Dakle, za postati uspjean programer potrebno je detaljno
poznavati sintaksu koritenog programskog jezika.
Sintaksa je, ipak, samo dio prie. Naime, nije dovoljno samo napisati program koji radi,
potreban je program koji daje ispravan rezultat, dakle program mora imati smisao. Smisao
programa se zove semantika. Semantiki ispravan program je onaj koji radi tono ono to
programer trai od njega.
Pri uvoenju novih jezinih elemenata bit e objanjena i sintaksa i semantika elementa.
Zapamtite sintaksu i pokuajte stei osjeaj za semantiku iz razumijevanja danih primjera.
Pokuajte napisati i svoje kratke programe da bi provjerili svoje razumijevanje.
Naravno, ak i kad se upoznate sa svim pojedinanim elementima jezika niste postali
programer. Jo uvijek morate nauiti kako stvarati sloene programe za rjeavanje odreenih
problema. Za to su potrebni i iskustvo i vjetina.
Objanjavanje Jave emo poeti na uobiajen nain: pisanjem programa koji ispisuje poruku
"Hello World!". Naizgled jednostavan problem, ali ipak vrlo vaan korak u svladavanju novog
programskog jezika (pogotovo ako vam je to prvi jezik). Potrebno je da razumijete osnovne
postupke:
1. unos programskog teksta u raunalo

2. kompiliranje programa i
3. izvravanje kompiliranog programa.
Ovi koraci su razliiti za razna raunala i Java programerska okruja. U osnovi se taj postupak
svodi na pisanje programa u nekom tekstualnom editoru i snimanje programa u neku
datoteku. Nakon toga odreenom naredbom se program kompilira, nakon ega dobivate
poruku o sintaksnim grekama ili kompilirani program. U sluaju Jave program se kompilira
u bajt kod, umjesto u strojni jezik. Na kraju pokreete program odgovarajuom naredbom.
Vae programsko okruenje moe obaviti neke od ovih koraka za vas, ali se u pozadini
zasigurno odvijaju ista tri koraka.

POSTUPAK RAZVOJA PROGRAMA

1. Tono odrediti problem koji se eli rijeiti.


Programi se obino piu da bi izvrili odreeni zadatak, ali zadatak ne mora biti uvijek jasan
sam po sebi. Potrebno je prikupiti dodatne podatke da bi se zadatak mogao tono odrediti.
Jasno odreivanje problema otklanja mogunosti nesporazuma i olakava postupak razvoja
programa.

2. Odrediti ulaze koje e program traiti i izlaze koje e program stvarati.


Ulazi i izlazi programa moraju biti odreeni da bi se program dobro uklopio s drugim
djelovima razvojnog postupka u jedinstvenu cjelinu.
3. Rastaviti program na klase i pripadajue metode.
Odrediti jednu ili vie klasa i njihovo djelovanje, meusobno i sa vanjskim svijetom. Za svako
meudjelovanje odrediti zasebnu metodu.
4. Razviti algoritme koji e biti primjenjeni u pojedinim metodama.
Algoritam je opis postupka korak po korak do konanog rjeenja problema. Potrebno je
pronai logian nain za podjelu veih 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 doe dijelova koji se mogu iskazati Java naredbama. Ovaj postupak se
najee izvodi koritenjem pseudokoda.
5. Prevoenje algoritma u Java naredbe.
Ako je rastavljanje problema dobro obavljeno, ovaj korak se svodi na jednostavno
zamjenjivanje pseudokoda odgovarajuim Java naredbama.
6. Testiranje konanog Java programa.
Najdui i najvaniji dio razvojnog postupka. Dijelove programa je potrebno, ako je mogue,
prvo testirati pojedinano, a zatim i program u cjelini. Potrebno je provjeriti da program
ispravno radi sa svim dozvoljenim vrstama ulaznih podataka. esto se dogaa da se program
pisan i testiran samo na uobiajenom ulaznom skupu rui ili daje netone rezultate samo zbog
koritenja razliitog ulaznog skupa. Ako program sadri grananja potrebno je provjeriti sva
mogua grananja da bi se provjerilo ispravnost rada programa u svim moguim uvjetima.

OSNOVNI JAVA APLET

Aplet je posebna vrsta Java programa namjenjena distribuciji preko Interneta i


automatskomizvravanju u itaima Weba (engl. Web browsers) koji podravaju Javu
Tonije, aplet je objekt koji pripada klasi java.applet.Applet ili jednoj od podklasa te klase.

Aplet je dio grafikog suelja, prikazuje se u prozoru (bilo mrenog pretraivaa ili nekog
drugog programa), ini ga pravokutno podruje u kojem su sadrani drugi elementi poput
tipki ili tekstualnih polja. Moe prikazivati grafike elemente kao to su slike, pravokutnici ili
linije, te moe odgovarati na odreene dogaaje (na primjer kad korisnik klikne negdje u
apletu).
Klasa Applet, definirana u paketu java.applet, slui samo kao osnova za izradu podklasa.
Objekt tipa Applet ima neka osnovna svojstva, ali zapravo ne radi nita korisno, to je prazno
podruje na ekranu koje ne odgovara ni na kakve dogaaje. Da bi dobio upotrebljiv aplet,
programer mora definirati podklasu koja nasljeuje klasu Applet. U klasi Applet je definirano
nekoliko metoda tako da ne rade ba nita, pa programer mora nadjaati bar neke od ovih
metoda i dati im neko znaenje.

Apletu nije potrebna main() metoda jer on i nije samostalni program, iako vie metoda u
apletu podsjeaju na main() time to je zamiljeno da ih poziva sistem, a programer treba
definirati odgovor na te pozive.

PROGRAMIRANJE U JAVA

Svakome tko je imao prilike usporediti C++ i Java izvorne kodove bit e odmah jasno da je
Java bazirana na programskom jeziku C++. Tvorci Jave su eljeli napraviti programski jezik
koji bi bio jednostavniji za nauiti i koristiti nego C++. Iz tog razloga bili su prisiljeni odustati
od dosta pristupa i idejnih rjeenja koje programeri generalno smatraju zbunjujuima (znate li
nekog tko koristi templateove u C++-u) te dodati nove mogunosti kao to je primjerice
garbage collection. Krajnji rezultat je novi programski jezik koji je uistinu laki za savladati

od C++-a. Ugraenim mogunostima poput garbage collection i eliminiranjem pointerske


aritmetike uspjeli su odstraniti najei izvor greaka koje bi se javljale prilikom
programiranja u C ili C++ programskim jezicima. No, kako emo vidjeti u daljnjem tekstu,
ova poboljanja nisu prola besplatno...
C++ je trebao biti poboljani C. Njegove mogunosti koritenja objektno orijentiranih tehnika
otvarale su mogunost razvoja puno veih i bolje organiziranih programa. Pri njegovoj izradi
tvorci su se pridravali sljedeeg:

C++ izvorni kod mora podravati istu sintaksno/semantiku strukturu C-a te koliko je god
mogue nadograditi se na sam C i podravati tehnike programiranja koritene od strane Cprogramera
Izvrni kodovi pisani u C++-u moraju biti barem isto toliko efikasni i brzi kao C izvrni
kodovi kako bi se omoguila njegova primjena i u vremenski kritinim rjeenjima
Nadalje, programirajui u Javi ogranieni ste na koritenje ve definiranih suelja (interface).
Java je u tom dijelu dosta slaba. Postojee klase daju mogunost Java programu izvravanje
samo sljedeih operacija:

itanje i pisanje datoteka


crtanje toaka i drugih primitivnih 2D objekata u boji
itanje i manipulaciju slika
kreiranje korisnikih suelja (npr. koritenje vie prozora na desktopu)
komuniciranje preko mrenih servisa (ne samo HTTP)
audio-prikaz zvunih datoteka

ZADACI U PROGRAMSKOM JEZIKU JAVA

Slijedi program "Hello World!". Ne oekujte da ete sve razumijeti - neke dijelove ete
razumijeti tek nakon nekoliko lekcija.

/**
* HelloWorldApp klasa implementira aplikaciju koja
* ispisuje "Hello World!" na standardni izlaz.
*/
public class HelloWorldApp {
public static void main(String[] args) {
// Ispii "Hello World!"
System.out.println("Hello World!");
}
}
Kada pokrenete ovaj program 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 "ugraeni" podprogram imena
System.out.println da bi obavio zadatak. Prisjetite se da se podprogrami sastoje od naredbi za
izvravanje nekog zadatka, okupljenih i sa odreenim imenom. Ime se koristi da bi mogli taj
podprogram pozvati kad god treba izvriti taj zadatak. Ugraeni podprogram je ve definiran
kao dio jezika i time dostupan u bilo kojem programu.
Znatielja vas mora voditi kroz ostatak programa. Dio programa su komentari. Raunalo u
potpunosti zanemaruje komentare u programu, oni su samo za ljude. Unato tome, komentari
su vrlo vani, bez njih razumijevanje programa moe biti jako teko. Java ima dvije vrste
komentara. Prva vrsta poinje s: // i protee se do kraja reda. Raunalo zanemaruje // i sve
nakon toga u istom redu. Druga vrsta komentara zapoinje s /* i zavrava s */ i moe se
protezati preko vie redova.

Sve ostalo u programu je neophodno prema sintaksnim pravilima Jave. Svo programiranje u
Javi se obavlja u klasama. Prva linija u programu kae da se klasa zove HelloWorld. Ime klase

HelloWorld ujedno slui i kao ime programa. Klasa nije program sama po sebi, da bi mogla
postati program klasa mora sadravati podprogram imena main oblika:
public static void main(String[] args)
izrazi
Kad naredite Java interpreteru da izvri program, on poziva main() podprogram i izvrava
naredbe unutar njega. Ove naredbe tvore skriptu koja govori raunalu to tono treba raditi
dok se program izvrava. Main() podprogram moe pozivati podprograme definirane unutar
iste, pa ak i drugih klasa, ali main() podprogram odreuje 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 sadri source kod programa. Kada se
ova datoteka kompilira, nastat e datoteka HelloWorld.class koja sadri Java bajt kod. Java
intrepreter izvrava Java bajt kod i za pokretanje programa ne trebate source kod.9
Sveuilite u Zagrebu Fakultet elektrotehnike i raunarstva Marko Topolnik, Mario Kuek
.
Prvi primjer
Pogledajmo prvi program napisan u Javi
Ispis: Prvi program
1 public class FirstExample
2{
3 public static void main(String[] args)
4{
5 System.out.println("Ovo radi!!");
9 Uvod u programski jezik JavaSkripta uz kolegij Informacija, logika i jezici

Zagreb, 2008

6}
7}

Program poinje definiranjem klase FirstExample (linija 1). Prvo se definira dostupnst klase
koja je u ovom sluaju javna (public). Nakon toga slijedi kljuna rije class koja oznaava da
se radio o klasi. Iza toga se stavlja naziv klase (FirstExample). Nakon toga dolazi tijelo klase
koje se stavlja u vitiaste zagrade (linije 27). Tijelo klase se moe sastojati od atributa i
metoda.
U ovom sluaju imamo samo metode i to jednu (main). U lijini 3 je deklarirana metoda main.
Ona je posebna metoda koja slui za pokretanje programa. Ima jedan parametar args. To je
polje objekata String koje predstavlja parametre pokretanja. Svaka metoda zapoinje i
zavrava vitiastim zagradama (linije 4 i 6). U tijelu metode je linija 5 koja ispisuje tekst
Ovo radi!!. Za sada je dovoljno zapamtiti da konstrukcija System.out.println ispisuje tekst
koji je proslijeen kao parametar.

Ako elimo napraviti program koji nas pozdravlja tako da mu poaljemo ime u naredbenom
retku onda to izgleda kao u ispisu 2.2.
Ispis 2.2: Parametar komandne linije
public class ArgumentExample
{
public static void main(String[] args)
{
System.out.println("Lijepi pozdrav " + args[0] + "!");
Razlika je u nazivu klase koja se sada zove ArgumentExample i u liniji u
kojoj ispisujemo tekst imamo sljedece: "Lijepi pozdrav " + args[0] + "!".
Ovaj dio koda spaja tekstualni niz u jedan. Prvi dio niza je: Lijepi pozdrav.
Na taj dio se spaja argument koji je poslan kao parametar prilikom
pokretanja i na njega je spojen znak !. Dakle, kod args[0] predstavlja prvi

element polja (indeksi poinju od 0).

Sada ga trebamo prevesti i onda pokrenuti sljedeom linijom:


> java ArgumentExample Amel
Ispis je:
Lijepi pozdrav Amel!

ZAKLJUAK

Programski jezik Java je znaajan u svijetu informatike. Java ima svoje mane nasuprot
nekih jezika je donekle sporija ali je vremenom napredovala. Java svoje nedostatke
nadoknauje tehnikim mogunostima. Programski jezici se razlikuju od ljudskog po svojoj
jasnoi i strogosti to je u programu dozvoljeno, a to nije. Pravila koja odreuju to je
dozvoljeno zovu se sintaksa jezika. Sintaksna pravila odreuju osnovni rjenik jezika i nain
na koji se programi mogu stvarati koristei petlje, grananja i podprograme. Programiranje u
Javi putem objekata ini programeru ivot lakim, sintaksa je pojednostavljena a nain pisanja
koda je dotaknuo apstraktnu razinu te dodatno pribliio programiranje ka ljudskom nainu

razmiljanja.Apleti, nude tritu neto novo i intresntnije. Java je vrlo dobar novi programski
jezik i velika vijest meu programerima.. injenice da se danas ve udomaio pojam NC
(Network Computer), te da SUN tvrtka ve naveliko prodaje svoje Java radne stanice bazirane
na Java procesoru samo govore u prilog prijanjoj tvrdnji. Miljenje da e Java naslijediti C+
+ kao jezik izbora glede programiranja generalno te da je Java u stvari ono to je trebao biti
C++.

LITERATURA

Joshua Bloch, Efikasno programiranje na Javi MIKRO KNJIGA, ZAGREB,2004

Stephen J. Chapman: Java for Engineers and Scientist, Prentice Hall, NJ, 2000.

Bruce Eckel: Thinking in Java, http://www.bruceeckel.com

Dejan ivkovi Java programiranje.Univerzitet Singidunum Beograd 2011.god


Herbert Schildt, JAVA J2SE 5, MIKRO KNJIGA, ZAGREB, 2006
Laslo Kraus PROGRAMSKI JEZIK Java sa reenim zadacima AKADEMSKA

MISAO Beograd, 2013


Metodoloka zbirka zadataka za uenje C++ Mahir Zajmovi

Milosavljevi, Vidakovi: Java i Objektno-orijentisano programiranje

Skripta uz kolegij Informacija, logika i jezici Zagreb Uvod u programski jezik Java
Zagreb 2008

Internet;

http://java.sun.com/docs/books/tutorial/
http://tutoriali.org/Java.html
http://tutoriali.org/programski_jezik_java.html
http://download.tutoriali.org/Tutorials/JAVA/Java_za_mlade_programere.pdf
http://web2tools-technologies.wikispaces.com/Java
www.linuxzasve.com/uvod-u-java-programiranje-prvi-dio#sthash.N6tC9IlM.dpuf

You might also like