You are on page 1of 14

3.

Elementi programskog jezika


Java

Jo{ neke karakteristike:

Objektno-orijentisan sa HIJERARHIJSKOM strukturom klasa.


Pru`a mogu}nost rada sa INTERFEJSIMA - skupom imenovanih
metoda , koji nisu nasle|eni od natklasa, niti definisani u samoj klasi,
a koji odre|uju neka dodatna svojstva klase.
Organizovana je po PAKETIMA. Osnovni paketi koji je ~ine su:
java.lang, java.util, java.io, java.net, java.awt, java.applet.
Paket je skup klasa i interfejsa namenjenih jednoj vrsti posla (koje ~ine
srodnu celinu)
Sve klase iz paketa ~ine BIBLIOTEKU KLASA.
Sve aplikacije se realizuju pomo}u (preko) KLASA.
Za svaku klasu bitne 2 karakteristike:
stanje (opisuje se preko promenljivih klase i instancnih promen.)
pona{anje njenih instaci (odre|uje se preko metoda)
Izgra|ena nad UNICODE-om (\uxxxx)

3.1. Tipovi podataka u Javi

Tip mo`e biti: primitivni i referencni (objekat)


Primitivni tip mo`e biti: aritmeti~ki i logi~ki.
Aritmeti~ki tip mo`e biti: celi i realni(floating point)
Celi tipovi su: byte, short, int, long i char. Operatori nad
celim tipom su: pore|enja, aritmeti~ki, uve}anja/smanjenja
za 1, logi~ki po bitovima.
Realni tip mo`e biti: float i double. Zapisuju se prema
standardu IEEE 754. (32-bitni i 64-bitni). Slede}e
operacije su definisane nad ovim tipom: pore|enja,
aritmeti~ke, uve}anja/umanjenja za 1.
Logi~ki tip (u oznaci: boolean) ima 2 vrednosti (klju~ne
re~i true i false) i opracije: jednakosti i nejednakosti i
logi~ke operacije.

Referencni (objektni) tipovi


podataka
Objekt - celina koju ~ine promenljive i metodi definisani u

klasi objekta. Svaki objekat je primerak (konkretizacija)


neke klase. Tip objekta je odre|en klasom.
Primer:
class Figura { }
class Trougao extends Figura { ..}
.
Figura s;
Figura f;
Trougao t;
..
Specijalnu vrstu objekata ~ine stringovi. String-objekat ne
sadr`i NUL na kraju (kao u C-u).

Interfejsni i nizovni tipovi


Ime interfejsa mo`e da se koristi za
definisanje referencnog tipa.
Primer:

Runnable r;

r = new Thread ();


Niz - specijalna vrsta objekta koji se satoji od vrednosti istog
tipa (bilo primitivnog, bilo objektnog) nazvane elementi
(~lanovi) niza.
Primer: Deklaracija i kreiranje :

int [] a;
String a[] = {Mika, Pera, Zika};

int a[];
int a = new int[100];

int [][] b = new int[20][40];

Pristup: a[0]=1; x=a[99]; b[0][10]=56; ...

3.2. Elementarne komponete


programskog jezika Java (tokeni)

Identifikatori
Literali
Separatori
Operatori
Klju~ne re~i
Komentari

Praznine

Identifikatori
Slu`e sa imenovanje stvari i programa. Nekoliko
identifikatora se koristi u specijalne svrhe - to su klju~ne
re~i.
Identifikator je niz jednog ili vi{e Unikod-znaka. Prvi mora
biti slovo, _ (crta za podvla~enje) ili $ (znak za dolar).
Ostali mogu biti: slova, cifre, _ ili $.
Du`ina nije ograni~ena.
Java kompajler mo`e razlikovati identifikatore koje ~ovek
ne mo`e.
Primeri:

x, _prvi, az123, $i_ovo_je identifikator,


janko, Petar, Prvi1_3.

Klju~ne re~i
To su identifikatori koji imaju specifi~no zna~enje u Javi.
Ne mogu se koristiti kao imena u programima.
To su engleske re~i i ma ih 50.
Primeri:
boolean, break, do, return, while,
(Ulogu ve}ine njih upozna}emo u toku ovog kursa.)
(Specifi~na uloga goto i const klju~nih re~i.)

Literal

( term koji predstavlja samog sebe)


Literal mo`e biti: konstantna vrednost primitivnog tipa ili
String-objekat.
Zna~i, mo`e biti: celobrojni, realni, logi~ki, znakovni i
stringovni (niska-literal).

Celobrojni literali

Mogu biti dekadni, oktalni i heksadekadni.


Dekadni ne po~inju cifrom 0.
Oktalni po~inje cifrom 0.
Heksadekadni po~inje znacima: 0x ili 0X.
Celobrojni literal koji se zavr{ava slovom L ili l je tipa
long. (Ako se `eli potencirati da je int, mo`e iza stajati I
ili i.)
PRIMERI: 123, 0, 063, 0XED123, 0L,
13242442422662l, 03535353L, 0x6da533l.

Realni literali - konstantne vrednosti tipa


float ili double. Mora sadr`ati jednu cifru i
decimalnu ta~ku ili eksponet.
Realan broj je tipa float ako sadr`i na kraju
slovo F ili f. Ako nema slova (ili sad`i slova d,
tj. D), on je tipa double.
Primeri:

25e4f, 1. E2f, .8373e+9f, 2.75f

23e4, 1.E2, .54544e3D, 24.5444, 24.2d

Logi~ki literali
Postoje 2 logi~ka literala: true i false.

Znakovni literal (karakter-literal) - konstantna

vrednost tipa char, tj. neozna~ena 16-bitna veli~ina. Satoji


se od konkretnog znaka li escape-sekvence izme|u
navodnika.
PRIMERI: t, \n, \\, \u142

Va`i slede}e:
\b
\u0008

Backspace

\t
\u0009
Horizontalni tab
\n
\u000a
Linefeed
\f
\u000c
Form Feed
\r
\u000d
Carriage return
\
\u0022
Dupli navodnik
\
\u0027
Jednostruki navodnik
\\
\u005c
Backslash
\xxx \u0000 do \u00ff - odgovara oktalnoj vrednosti xxx.
Nema koda za zvuk ( u C-u \a) i vertiklani tab (\v)

String literal - sadr`i znake izme|u navodnika. PRIMERI:

Zdravo Cedo, i ovo \n, Promenljiva 1 2 3

Separatori
Kao separatori javljaju se slede}i znaci:

( ) { } [ ] ; , .

Operatori
Operator je token koji odre|uje operaciju nad
podacima. U Javi se razlikuju operatori
zadodeljivanja i ostali.
Operatori dodeljivanja: = -= *= /= |= &=
^= += %= <<= >>= >>>=
Ostali: + - <= ^ ++ < * >= % - / != ?
>> ! & = = : >> ~ | && >>>
Nema operator , (kao u C-u). Nema i nekih
drugih koji postoje u C-u (za pristup memoriji).

Komentari
Java podr`ava 3 stila komentara u programu.
C-stil: / * Sve izmedju ovih vrsta zagrad je komentar
*/

jednolinijske komentare:

//sve iza ovog u jednoj liniji je komentar


PRIMER: i = 1; // Inicijalizacija brojaca
dokumentacioni komentar, koji po~inje sa: //* a
zavr{ava se sa */. Mo`e da se iskoristi za automatsko
generisanje dokumentacije, tj za pretvaranje u HTMLtekst..
PRIMERI: /* Ovde pocinje
Malo konfuzije
Ovde se zavrsava */

Praznine
Praznine ~ine specijalni znaci: space, tab,
form feed
Ne vide se, a izazivaju neke efekte.

You might also like