Professional Documents
Culture Documents
Masfak p10 Java Elementi Jezika I Promenljive v2
Masfak p10 Java Elementi Jezika I Promenljive v2
debug
2004
Elementi jezika
Komentari Kljune rei Identifikatori Operatori Modifikatori
2004
Komentari
Tip komentara /* komentar */ // komentar Primena Svi karakteri izmeu /* i */ se ignoriu. Svi karakteri od // pa do kraja reda se ignoriu. Isto to i /* */ komentar, ali ovakav komentar e biti iskorien od alata javadoc da kreira automatsku dokumentaciju.
Mainski fakultet u Niu
/** komentar */
2004
Separatori
Separatori slue da pokau Java kompajleru kako su grupisani iskazi u programu
{ } ; , :
2004
2004
Identifikatori
Identifikatori predstavljaju imena Imena se dodeljuju:
Klasama Metodama Promenljivim
Jedinstveno reprezentuju entitete unutar programa Pomau programeru da lake napie program
2004 Mainski fakultet u Niu
Identifikatori
Identifikatori su osetljivi na veliinu slova (case sensitive) DeltaX deltax Poetni karakter u imenu mora biti slovo, znak _ ili znak $. Preporueni stil: mojaPromenljiva, povrsinaKruga, srednjaVrednostPritiska
2004
Primeri identifikatora
Validni DeltaX Delta_X deltax3 Nevalidni Delta X (ima karakter space) Delta_X! (koristi znak uzvika) 3deltax (poinje brojem)
2004
double 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
Mainski fakultet u Niu
super switch synchronized this threadsafe throw transient true try void while
Operatori
Operatori slue za manipulaciju sa operandima Operacije se izvravaju sa leva u desno, to se naziva leva asocijativnost Neki operatori imaju i desnu asocijativnost Prvo se izvravaju operacije vieg nivoa, pa onda nieg Primer:
int rezultat = 2+3*5; // rezultat je 17 int rez = (2+3)*5; // rezultat je 25
2004 Mainski fakultet u Niu
Operatori
+ ^ <= ++ %= >>>= ~ >= -&= . * && << == |= [ / || >> += ^= ] % ! >>> -= != ( & < = *= <<= ) | > ? /= >>=
2004
Aritmetiki operatori
Operator Znaenje
Sufiks auto-poveanje, smanjenje Prefiks auto poveanje, smanjenje Unarni plus, minus mnoenje deljenje ostatak Sabiranje, oduzimanje
Mainski fakultet u Niu
Prioritet Asocijativnost
1 2 2 4 4 4 5
Relacioni operatori
Uporeuju dve veliine da bi odredili da li su jednake ili jedna vea od druge == operator koji testira jednakost. Vraa true ili false != operator koji testira nejednakost. Vraa true kad su operandi nejednaki i false kad su jednaki Primer boolean a,b; a = (3 == 3) // a e biti true b = (7 != 3) // b e biti true
2004 Mainski fakultet u Niu
Relacioni operatori
<, >, <=, >= operatori manje, vee, manje ili jednako, vee ili jednako Primer boolean a a = (1 < 8) // a e biti true b = (2 >= 7) // b e biti false
2004
Relacioni operatori
? relacioni operator Ima tri operanda, od kojih je prvi logiki operand tipa boolean, a ostali mogu biti bilo kog tipa Ukoliko je vrednost logikog operanda true, rezultat operacije je drugi operand, a ako je false, rezultat je trei operand Primer: boolean b; int c; b = true; c = (b ? 1 : 2) // rezultat je c=1
2004 Mainski fakultet u Niu
Prioritet Asocijativnost
7 8 8 14
2004
Logiki operatori
Rade sa logikim (boolean) operandima i vraaju logiki rezultat & - AND Logiki i | - OR Logiko ili ! - NOT Logiko ne ^ - XOR Logiko iskljuivi ili (vraa true ukoliko operandi nisu isti) Primer: b= (100 > (3*10)) | (100 > (40*40)) // b je true
2004 Mainski fakultet u Niu
Prioritet Asocijativnost
! &
^ |
2 9 10 11 12 13
&&
||
2004
Prioritet Asocijativnost
2 6 6 9 10 11
&
^
2004
0 0 0 0
0 0 0 0
1 1 1 1
1 0 0 1
1 1 1 1 1
0 0 0 0 0 0
0 1 1 0 1 1
1 1 = 1 1 1 = 0
0 0 0 0 0 0
0 0 0 0 0 0
1 1 1 1 1 0
1 0 1 1 0 1
AND &
OR |
NOT 1 1 0 1 1 0 0 0
XOR ^
2004
String operatori
+ Operator nadovezivanja, prioritet 5 i levo
asocijativan Primer: natpis = Fi + zika // rezultat je Fizika
2004
Operatori dodeljivanja
Operator = *= /= %= += -= >>= <<= >>>= |= &= ^=
2004
Znaenje Dodeljivanje Dodeljivanje sa operacijom Dodeljivanje sa operacijom Dodeljivanje sa operacijom Dodeljivanje sa operacijom Dodeljivanje sa operacijom Dodeljivanje sa operacijom Dodeljivanje sa operacijom Dodeljivanje sa operacijom Dodeljivanje sa operacijom Dodeljivanje sa operacijom Dodeljivanje sa operacijom
Prioritet 15 15 15 15 15 15 15 15 15 15 15 15
Asocijativnost Desna Desna Desna Desna Desna Desna Desna Desna Desna Desna Desna Desna
Operatori dodeljivanja
Primeri: int i; i = 2; i = i+5; // rezultat je i=7 i *= 3; // rezultat je i=21
2004
Specijalni operatori
new kreira novi objekat neke klase, prioritet je 3 i desno asocijativan Cilindar c1 = new Cilindar ( ); instanceof vraa true ako neki objekat pripada navedenoj klasi b = c1 instanceof Cilindar // b e biti true
2004 Mainski fakultet u Niu
Literali - konstante
Programski elementi koji se koriste na nepromenljiv nain se nazivaju literali Celobrojni literali:
Decimalni: 12 Heksadecimalni poinju sa 0x: 0xC Oktalni poinju sa 0: 014
Realni Literali:
Standardna notacija: 3.142 Nauna notacija: 7.921e4
2004 Mainski fakultet u Niu
Literali
Bulovi literali
True, false
Karakter literali:
ovo je string, Zoran Petrovic Postoje i specijalni karakteri koji imaju upravljaku funkciju
2004
Specijalni karakteri
Description Backslash Continuation Backspace Carriage return Form feed Horizontal tab Newline Single quote Double quote Unicode character Octal character
2004
Representation
Modifikatori
Menjaju
ivotni vek, skladite, ponaanje i dostupnost
2004
Modifikator apstract
Kada se primenjije na klasu ukazuje da je klasa apstraktna i da se iz nje ne mogu kreirati instance. Abstraktna klasa je ona u kojoj je jedna ili vie metoda deklarisana, ali nije definisana (to je apstraktna metoda) Deklaracija apstraktne metode se zavrava znakom ; U nekoj podklasi se definiu metode i onda se mogu instancirati objekti
2004 Mainski fakultet u Niu
2004
Modifikator static
Uobiajeno instance klasa (objekti) imaju kopiju promenljivih klase (nasleivanje) Modifikatorom static mogue je deklarisati promenljivu tako da pripada samoj klasi , nezavisno od bilo kog objekta te klase Statine promenljive klase se uobiajeno koriste za uvanje globalnih informacija o instancama klase
2004 Mainski fakultet u Niu
Modifikator synchronized
Sinhronizovana metoda klase omoguava da samo jedna nit istovremeno moe da izvrava metodu Primer: nedozvoljeno je da se istovremeno sa rauna u banci koji ima 100 din. skida na vie mesta po100 din.
2004
Modifikator native
Koristi se prilikom deklarisanja metode koja je pisana u drugom programskom jeziku (npr. C, C++) Primer: public native long getData( );
2004
Modifikator volatile
Volatile (neuhvatljiva) je ona promenljiva ija se vrednost moe menjati nezavisno od samog Java programa Predstavljaju ulaz iz spoljnog sveta (na primer ulaz sa senzora ili sistemsko vreme na raunaru)
2004
Modifikator transient
Koristi se prilikom serijalizacije (zapisivanja podataka klase na disk) Podaci klase koji su deklarisani kao transient nee biti zapisani na disk Primer public MyClass implements Serializible { transient protected Graphics g; // ostatak definicije klase }
2004 Mainski fakultet u Niu
Modifikator final
promenljiva klase ili lokalna promenljiva se moe deklarisati kao konstanta koja se ne moe promeniti tokom izvrenja programa Vrednost ove promenljive se moe promeniti samo izmenom u kodu programa Primer final double Pi = 3.14159
2004 Mainski fakultet u Niu
Modifikator strictfp
strictfp = striktno floating point Koristi se u klasama i metodama Kada se klasa deklarie kao strictfp onda su sve metode strictfp Ako je metoda deklarisana kao strictfp onda se izrazi iz te metode moraju striktno pridravati standardu za rad sa fp brojevima IEEE 754
2004 Mainski fakultet u Niu
Modifikatori dostupnosti
Klase i njihove metode i promenljive su dostupne samo klasama iz istog paketa Ovo se moe promeniti modifikatorima:
private protected public
2004
Meni
PodklasaDisk PaketGeometrija
2004 Mainski fakultet u Niu
PaketInterface
Modifikator private
Ako je klasa deklarisana kao private nijedna druga klasa ne moe pozivati njene metode niti direktno pristupiti njenim promenljivim Instance jedne private klase mogu meusobno pristupati privatnim promenljivim u drugim instancama iste klase
2004 Mainski fakultet u Niu
Modifikator protected
Kada je neka klasa deklarisana kao protected, onda:
Podklase u istom ili nekom drugom paketu mogu da je nasleuju Moe da im se pristupi iz bilo koje klase iz istog paketa, ali ne i iz drugih paketa
2004
Modifikator public
Klase deklarisane kao public nikome ne ograniavaju pristup Svi mogu pristupiti klasama, metodama i promenljivima
2004
PodklasaDisk
NE
NE
PaketGeometrija
2004 Mainski fakultet u Niu
NE
Sfera
OK
PodklasaDisk
OK OK
NE
Paket_1
2004
Paket_2
Mainski fakultet u Niu
Paket_3
debug
2004
Promenljiva
Promenljiva je memorijska lokacija Vrednost promenljive je sadraj upisan na toj memorijskoj lokaciji Primer: byte starost = 69
Adresa memorijske lokacije Sadraj
starost
69
00110101110100010010001111100101 01000101
2004
TIPOVI PROMENLJIVIH
Svaka promenljiva i svaki izraz u Javi ima definisan tip koji je poznat prilikom kompajliranja Tipovi:
ograniavaju vrednosti koje promenljiva moe da ima ili koju izraz moe da izrauna, ograniavaju operacije koje su podrane nad tim vrednostima i odreuju znaenje operacija
Primitivni tipovi
Logiki tip: boolean Numeriki tipovi Celobrojni byte, short, int, long, char (jedan Unicode karakter) Realni tipovi float double
2004 Mainski fakultet u Niu
Primitivni tipovi
br. bita boolean 1 byte 8 short 16 int 32 long 64 char 16 float 32 double 64
2004
Tip
Min. vrednost
Referentni tipovi
Vrednost referentnih tipova su reference (pokazivai) na objekte Referentni tipovi su:
class interface array specijalni null tip (referencira na objekt koji ne postoji)
7 vrsta promenljivih
2004
Promenljive klasa Promenljive instanci Elementi polja (vektori, matrice) Parametri metoda Parametri konstruktora Parametri exception-handler-a Lokalne promenljive
Mainski fakultet u Niu