You are on page 1of 7

Uvod u sintaksu Java jezika

Sintaksa bilo kog jezika predstavlja skup pravila koje korisnik jezika mora da ispotuje kako
bi ostali korisnici tog jezika mogli da ga razumeju. Drugim reima, sintaksta predstavlja
skup pravila koja se svi korisnici jezika obavezuju da potuju ne bi li mogli da komuniciraju.
Ukoliko Vi prekrite neko od ovih pravila, drugi uesnici u komunikaciji Vas verovatno nee
razumeti. Kao i u svakom drugom jeziku, i programski jezici imaju svoju sintaksu.
Programski jezik Java, kao i veina drugih modernih jezika, najvei deo sintakse preuzima iz
jezika C++. C++ preuzima vei deo sintakse iz C-a. Ljudi koji su kreirali Javu izabrali su
C++ kao uzor, zato to je ovaj jezik predstavljao jedan od najrasprostranjenijih u tom
trenutku, i na taj nain su mnogim programerima olakali uenje ovog jezika. Zbog toga,
ako pomislite da ste, nauivi Javu, nauili dobar deo nekog od ova dva jezika (C, C++) u
pravu ste. Ovi jezici su sintaksno veoma slini. Ipak, Java omoguava neto veu slobodu u
pisanju. Tanije, ne obavezuje nas da se bavimo stvarima koje nisu u kontekstu projekta, a
moraju se ispotovati da bi program funkcionisao, kao to je rukovanje memorijom, i slino.
Svaki program u Javi sastoji se od sledeih elemenata:
-

linije,
blokovi,
identifikatori,
komentari,
prazni prostori.

Linije (izjave)
Linija predstavlja najmanji samostalni deo jednog programa. Svaki Java program sastoji se
iz linija koda. Veliina nekog koda se meri u linijama (100 linija koda, 1 245 linija koda itd.).
esto pravilo programske sintakse jeste da svaka linija koda mora biti zavrena oznakom ;
int x=1;
Ovo pravilo u potpunosti vai i za Javu. Linija napisana bez ove oznake zapravo se i ne
smatra zavrenom izjavom i program e oekivati nastavak logike sve dok se oznaka ne
pojavi. Pri tom, prazan prostor se ne uzima u obzir, pa e sledea izjava biti u potpunosti
validna:
int x = 1
;
ali zato ova nee:
int x = 1
Postoje sluajevi kada se oznaka ; ne pojavljuje na kraju linije, ali to onda najee znai da
kompletna misao nije zavrena i da program oekuje nastavak logike kako bi zaokruio
celinu. Ovaj sluaj najee se sree prilikom upotrebe uslova (kontrole toka).

Copyright Link group

Na primer:
if(x<10)
System.out.println("Prethodna linija nema oznaku ; a radi");
Prethodni primer esto izgleda kao da nema samo jednu liniju ispod uslova (linije bez
oznake ;) to su sluajevi kada se upotrebljavaju blokovi koda.

Blokovi
Blok predstavlja grupu linija, odnosno izjava oivienih vitiastim zagradama {}.
Ova grupa linija u jednom bloku se smatra jednom jedinicom.
Na primer, ukoliko bismo imali sledei kod:
int a=1;
int b=2;
int c=a+b;
System.out.println(c);
mogli bismo, jednostavno, liniju 3 i 4 prethodnog koda da proglasimo blokom koji
izraunava i emituje vrednost c.
Da bi i prevodilac mogao da neki kod registruje kao poseban blok, potrebno je oiviiti ga
vitiastim zagradama:
{
ovo je jedan blok
}
Blok koda iz prethodnog primera, osim prezentacione, nema nikakvu drugu funkciju, jer e
kod koji se nalazi unutar bloka biti uvek izvren.
Da bi blok imao bilo kakvu sutinu unutar programa, potrebno je da izvravanje njegove
sadrine bude uslovno:
uslov
{
ovo je jedan blok
}
Na kraj bloka ne treba stavljati taku-zarez.

Identifikatori
Jeziki blokovi kao to su klase ili metode moraju da budu imenovani kako bi mogli da budu
korieni u kodu. Zbog ovoga postoje identifikatori u programskom jeziku Java.

Copyright Link group

Identifikator moe sadrati slovne karaktere, brojeve, konekcione karaktere(kao npr. donja
crta) i karaktere valuta (na primer $). Identifikator ne sme poeti brojem i njegova duina
mora biti kraa od duine linije u kojoj se pojavljuje.
Odreene rei se ne mogu iskoristiti kao identifikatori, poto imaju specijalno znaenje u
jeziku i nazivaju se rezervisane rei. Java poznaje sledee rezervisane rei: abstract, assert,
boolean, break, byte, case, catch, char, class, const, continue, default, do, double, enum,
else, extends, false, final, finally, float, for, goto, if, implements, import, instanceof, int,
interface, long, native, new, null, package, private, protected, public, return, short, static,
strictfp, super, switch, synchronized, this, throw, throws, transient, true, try, void, volatile,
while.
class JavaClass {} //ovo je ispravno
class 5Class {} //ovo je neispravno
void method_name() {} //ovo je ispravno
void method$(){} //ovo je ispravno

Komentari
Ako elimo da neki sadraj bude zapamen u izvornom kodu, i pri tom ne elimo da taj
sadraj ima uticaj na izvrenje programa, pribegavamo komentarisanju koda.
Ne postoji programski jezik u kome opcija komentarisanja koda ne postoji, pa tako izuzetak
nije ni Java.
Postoji mnogo sluajeva koji prezentuju praktinu potrebu za komentarima nad kodom.

Voenje beleki nad razvojem koda. Karakteristika velikih kodova je da se u


njima moe lako zagubiti. Zato uvek treba komentarisati logike celine koda, kako
bismo u svakom trenutku imali podsetnik o tome koji deo koda emu slui.

Dobro komentarisan kod olakava rad programeru koji nasleuje taj kod; zato
je, prilikom rada u timu, vie nego preporuljivo koristiti se komentarima u kodu.

Lako i brzo baratanje funkcionalnou koda u tom smislu moemo neke


delove koda da iskljuimo (pretvorivi ih u komentar) ili ukljuimo (skidanjem
komentara); ako na program sadri 100 linija koda, koje bismo na trenutak eleli
da iskljuimo (ali ne i obriemo), najjednostavniji nain je komentarisati ih.

Kod je u Javi mogue komentarisati upotrebom kosih linija (Slash). Na primer, ukoliko
naem kodu dodamo liniju komentara:
//ovo je komentar koda
var a=1;
Kada bismo ovo startovali, program bi se izvrio bez problema i dodelio promenljivoj a
vrednost.
Pod komentarisanim podrazumeva se kompletan red koji sledi iza oznake za komentar (//).
Ukoliko elimo da komentariemo vie redova (blok), moemo:

komentarisati svaki red posebno:


//prvi red kometara

Copyright Link group

//drugi red komentara

napraviti tzv. blok komentara:


/*
ovo je blok
komentara
*/
pri emu oznaka /* zapoinje blok komentara i oznaka */ naputa blok komentara. Svaki
tekst koji se nalazi izmeu ove dve oznake bie tretiran kao komentar.
Komentar je mogue dodati i nakon linije koda, na primer:
document.write("hello"); //moj komentar
Ukoliko bismo hteli da unesemo komentar u sam kod, ali da pri tom u istoj liniji nastavimo
kod, upotrebili bismo blok komentara:
System.out./*ovo funkcionise*/println("hello");
Ovaj primer, iako je ekstreman, dobro oslikava koliko je prevodilac fleksibilan u ignorisanju
komentara.

Javadoc
Java poseduje ugraen mehanizam za generisanje dokumentacije o klasama i interfejsima.
Ovaj mehanizam se naziva Javadoc i spada u specijalnu vrstu komentara, pa otuda i rei o
Javadocu u ovom poglavlju. Ova vrsta komentara je namenjena kako ljudima, tako i za
itanje od strane maina. Javadoc komentari poinju kosom crtom, nakon ega slede dve
zvezdice (/**), a zavravaju se zvezdicom i kosom crtom (*/). Ovo je gotovo identino kao i
kod standardnih komentara, sa razlikom to se kod Javadoca pojavljuje zvezdica vie
prilikom otvaranja komentara. Po pravilu, svaka klasa koja je namenjena za javnu upotrebu
bi trebala da sadri Javadoc komentare, kao i komentare svake metode koja je planirana da
bude javno dostupna. Kada se Javadoc alat pokrene, on proverava sve klase i interfejse i
kreira set HTML stranica, sa naslovima i podnaslovima koji odgovaraju hijerarhiji kreiranog
programa.
Kada znate da ete raditi sami na nekoj java aplikaciji nije potrebno ubacivati Javadoc
komentare niti generisati dokumentaciju. Ipak, ako budete radili na nekom open-source ili
timskom projektu, od Vas e se moda traiti da unosite ovakvu vrstu komentara i da
kreirate dokumentaciju. Vie o kreiranju dokumetacije bie u okviru sledee lekcije
NetBeans.

Prazan prostor
Kada preemo u novi red Java programa, ne znai da smo automatski zapoeli i novu liniju,
odnosno, izjavu. Takoe, moemo napisati koliko god hoemo izjava u jednom redu, sve
dok ih pravilno razdvajamo oznakama ; (taka-zarez).
Sledei primer daje validan rezultat:
int a=1; int b=2; int c=a+b; System.out.println(c);

Copyright Link group

dok e sledei primer prijaviti greku:


int a=1
int b=2
int c=a+b
System.out.println(c)

Case Sensitivity
Java je Case Sensitive programski jezik, to znai da e drugaije tretirati elemente ispisane
malim i velikim slovom:
int A=10;
nije isto to to i:
int a=10;
Na raun ove osobine imamo mogunost korienja razliitih sistema imenovanja, odnosno,
upisa promenljivih. Generalno, svako ima pravo da upotrebljava kakav hoe nain za
oslovljavanje promenljivih, ali je, svakako, najea kombinacija Camel Case i Hungarian
Notation. Kada kaemo da koristimo Camel Case notaciju, zapravo se podrazumeva da smo
svako poetno slovo rei u promenljivima zapoeli velikim slovom (MojaPromenljiva), dok u
Hungarian notaciji opisujemo promenljivu, a zatim joj dajemo naziv (prmMojaPromenljiva).

Pitanje
Koji od sledeih primera oslikava pravilnu upotrebu komentara u jeziku Java?

/ovo je komentar/
//ovo je komentar
/*ovo je komentar
ovo je komentar/*

U programskom jeziku Java mogue je navesti komentar pojedninane linije upotrebom


duple kose crte //. Takoe, mogue je i zakomentarisati neki blok koda upotrebom /* i */,
gde bi tekst izmeu zvezdica bio komentar.

Rezime

Sintaksa programskog jezika Java u velikoj meri je nasleena iz programskih


jezika C i C++.

Svaka linija u Javi mora se zavriti oznakom ; (taka-zarez) ukoliko se ne radi


o bloku.

Idetifikatori se u Javi koriste za obeleavanje klasa i metoda u kodu.

Copyright Link group


U Javi je mogue navesti komentare upotrebom duple kose crte // ili simbola
/* i */ gde se izmeu zvezdica navodi komentar.

Java je case sensitive programski jezik, to znai da e drugaije tretirati


velika i mala slova.

Vebe
Veba1
Dat je sledei kod koji sabira dva broja:
int operand1=2;
int operand2=3;
int sum=operand1+operand2;
System.out.println(sum);

Potrebno je napraviti opis koda za dokumentaciju.


Reenje:
/**
* first operand
*/
int operand1=1;
/**
* second operand
*/
int operand2=2;
/**
* summation
*/
int sum=operand1+operand2;
/**
* result display
*/
System.out.println(sum);

Veba2
Dat je sledei kod:
int a=2,b=3;
System.out.print("First operand: ");
System.out.println(a);
System.out.print("Second operand: ");
System.out.println(b);
System.out.print("Sum: ");
System.out.println(a+b);

Copyright Link group

Kod daje sledei izlaz:


First operand: 2
Second operand: 3
Sum: 5

Potrebno je obezbediti da program na izlazu prikazuje samo rezultat (broj 5), ali da sve
linije koda ostanu dostupne za buduu upotrebu.

Reenje:
int a=2,b=3;
/*
System.out.print("First operand: ");
System.out.println(a);
System.out.print("Second operand: ");
System.out.println(b);
System.out.print("Sum: ");
*/
System.out.println(a+b);

Copyright Link group

You might also like