masfak p10 java elementi jezika i promenljive v2
TRANSCRIPT
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 1/56
2004 Mašinski fakultet u Nišu
JAVASINTAKSA JEZIKA
Dr Miroslav Trajanović
debug
Write once, run anywhere
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 2/56
2004 Mašinski fakultet u Nišu
Elementi jezika
• Komentari
• Ključne reči• Identifikatori
• Operatori• Modifikatori
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 3/56
2004 Mašinski fakultet u Nišu
Komentari
Tip komentara Primena
/* komentar */ • Svi karakteri između /* i */ se ignorišu.
// komentar • Svi karakteri od // pa do kraja reda se
ignorišu.
/** komentar */
• Isto što i /* */ komentar , ali ovakavkomentar će biti iskorišćen od alata
javadoc da kreira automatsku
dokumentaciju.
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 4/562004 Mašinski fakultet u Nišu
Separatori
• Separatori služe da pokažu Java
kompajleru kako su grupisani iskazi uprogramu
• { } ; , :
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 5/562004 Mašinski fakultet u Nišu
Separator za kraj iskaza
znak ; - kraj iskaza
– Primer:
double v = p * h;
int proizvod
= 2 * 3;
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 6/562004 Mašinski fakultet u Nišu
Identifikatori
• Identifikatori predstavljaju imena
• Imena se dodeljuju: – Klasama
– Metodama
– Promenljivim
• Jedinstveno reprezentuju entitete unutar
programa• Pomažu programeru da lakše napiše
program
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 7/562004 Mašinski fakultet u Nišu
Identifikatori
• Identifikatori su osetljivi na veličinu slova
(case sensitive)• DeltaX ≠ deltax
• Početni karakter u imenu mora biti slovo,znak _ ili znak $.
• Preporuč
eni stil: mojaPromenljiva,povrsinaKruga, srednjaVrednostPritiska
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 8/562004 Mašinski fakultet u Nišu
Primeri identifikatora
Validni Nevalidni
DeltaX Delta X (ima karakter space)
Delta_X Delta_X! (koristi znak uzvika)
deltax3 3deltax (počinje brojem)
Licna_adresa private (ovo je Java keyword)
starost #starost (ne počinje sa slovom)
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 9/56
2004 Mašinski fakultet u Nišu
Ključne reči (keywords)
• Ključne reči su službene reči jezika
• Pomoću njih se kreiraju programski iskazi
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 10/56
2004 Mašinski fakultet u Nišu
Java ključne reči
abstract double int super boolean else interface switch
break extends long synchronized
byte false native thisbyvalue final new threadsafe
case finally null throw
catch float package transient
char for private true
class goto protected try
const if public void
continue implements return while
default import short
do instanceof static
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 11/56
2004 Mašinski fakultet u Nišu
Operatori
• Operatori služe za manipulaciju sa operandima
• Operacije se izvršavaju sa leva u desno, što senaziva leva asocijativnost
• Neki operatori imaju i desnu asocijativnost
• Prvo se izvršavaju operacije višeg nivoa, paonda nižeg
• Primer:int rezultat = 2+3*5; // rezultat je 17
int rez = (2+3)*5; // rezultat je 25
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 12/56
2004 Mašinski fakultet u Nišu
Operatori
+ - * / % & |
^ ~ && || ! < >
<= >= << >> >>> = ?
++ -- == += -= *= /=
%= &= |= ^= != <<= >>=
>>>= . [ ] ( )
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 13/56
2004 Mašinski fakultet u Nišu
Aritmetički operatori
Operator Značenje Prioritet Asocijativnost
++, -- Sufiks auto-povećanje,smanjenje 1 Leva
++, -- Prefiks auto – povećanje,smanjenje
2 Desna
+, - Unarni plus, minus 2 Desna
* množenje 4 Leva
/ deljenje 4 Leva
% ostatak 4 Leva
+,- Sabiranje, oduzimanje 5 Leva
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 14/56
2004 Mašinski fakultet u Nišu
Pre i post
inkrementacija/dekrementacijaclass PrePostDemo {
public static void main(String[] args){
int i = 3;
i++;
System.out.println(i); // "4"
++i;
System.out.println(i); // "5"
System.out.println(++i); // "6"System.out.println(i++); // "6"System.out.println(i); // "7"
}
}
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 15/56
2004 Mašinski fakultet u Nišu
Relacioni operatori
• Upoređuju dve veličine da bi odredili da li su jednake ili jedna veća od druge
• == operator koji testira jednakost. Vraća true ilifalse
• != operator koji testira nejednakost. Vraća truekad 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
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 16/56
2004 Mašinski fakultet u Nišu
Relacioni operatori
• <, >, <=, >= operatori manje, veće, manje
ili jednako, veće ili jednako• Primer
boolean aa = (1 < 8) // a će biti true
b = (2 >= 7) // b će biti false
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 17/56
2004 Mašinski fakultet u Nišu
Relacioni operatori
• ? relacioni operator
• Ima tri operanda, od kojih je prvi logički operandtipa boolean, a ostali mogu biti bilo kog tipa
• Ukoliko je vrednost logičkog operanda true,
rezultat operacije je drugi operand, a ako jefalse, rezultat je treći operand
• Primer:
boolean b; int c;b = true;
c = (b ? 1 : 2) // rezultat je c=1
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 18/56
2004 Mašinski fakultet u Nišu
Prioritet relacionih operatora
Operator Značenje Prioritet Asocijativnost
>, <,>=, <=
Proverava relativnuveličinu 7 Leva
==Proverava jednakost 8 Leva
!= Proverava nejednakost 8 Leva
? :Uslovni operator
14 Leva
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 19/56
2004 Mašinski fakultet u Nišu
Logički operatori
• Rade sa logičkim (boolean) operandima i
vraćaju logi
čki rezultat
• & - AND – Logički i
• | - OR – Logičko ili
• ! - NOT – Logičko ne
• ^ - XOR – Logičko isključivi ili (vraća true ukoliko
operandi nisu isti)• Primer:
b= (100 > (3*10)) | (100 > (40*40)) // b je true
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 20/56
2004 Mašinski fakultet u Nišu
Prioritet logičkih operatora
Operator Značenje Prioritet Asocijativnost
! NOT 2 Desna& Bulovo AND 9 Leva
^XOR
10 Leva| Bulovo OR 11 Leva
&&
Logičko AND 12 Leva
|| Logičko OR 13 Leva
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 21/56
2004 Mašinski fakultet u Nišu
Operacije nad bitovima
• Celobrojni tipovi podataka u Javi krajnji
levi bit koriste za predstavljanje znaka• Ako je ovaj bit 1 broj je negativan
7 bitaznak
15 bitaznak
31 bitaznak
63 bitaznak
byte
short
int
long
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 22/56
2004 Mašinski fakultet u Nišu
Operacije nad bitovima
Operator Značenje Prioritet Asocijativnost
- NOT (komplement bitova) 2 Desna
>>, << Pomeranje u desno i u levo 6 Leva
>>> Pomeranje udesno kao danema znaka
6 Leva
| OR nad bitovima 9 Leva
& AND nad bitovima 10 Leva
^ XOR nad bitovima 11 Leva
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 23/56
2004 Mašinski fakultet u Nišu
Operacije nad bitovima
• Primeri:
1 0 0 1 0 0 1 1AND &
1 0 1 1 0 0 1 0
=1 0 0 1 0 0 1 0 11001101
=
01001101
OR |11001001
10000100
=
01001101
XOR ^
11001001
00110110
=
NOT -
11001001
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 24/56
2004 Mašinski fakultet u Nišu
Operacije nad bitovima
1 0 0 1 0 0 1 1
Pomeranje u desno >>> 2=
0 0 1 0 0 1 0 0
10010011
=
Pomeranje u desno sa
znakom >> 1
11001001
00110011
=
Pomeranje u levo sa znakom
<< 2
11001001
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 25/56
2004 Mašinski fakultet u Nišu
String operatori
• + Operator nadovezivanja, prioritet 5 i levo
asocijativan• Primer:
natpis = “Fi” + “zika” // rezultat je Fizika
Operatori dodeljivanja
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 26/56
2004 Mašinski fakultet u Nišu
Operatori dodeljivanjaOperator Značenje Prioritet Asocijativnost
= Dodeljivanje 15 Desna
*= Dodeljivanje sa operacijom 15 Desna
/= Dodeljivanje sa operacijom 15 Desna
%= Dodeljivanje sa operacijom 15 Desna
+= Dodeljivanje sa operacijom 15 Desna
-= Dodeljivanje sa operacijom 15 Desna>>= Dodeljivanje sa operacijom 15 Desna
<<= Dodeljivanje sa operacijom 15 Desna
>>>= Dodeljivanje sa operacijom 15 Desna|= Dodeljivanje sa operacijom 15 Desna
&= Dodeljivanje sa operacijom 15 Desna
^= Dodeljivanje sa operacijom 15 Desna
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 27/56
2004 Mašinski fakultet u Nišu
Operatori dodeljivanja
• Primeri:
int i;i = 2;
i = i+5; // rezultat je i=7
i *= 3; // rezultat je i=21
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 28/56
2004 Mašinski fakultet u Nišu
Specijalni operatori
• new – kreira novi objekat neke klase,
prioritet je 3 i desno asocijativan
Cilindar c1 = new Cilindar ( );
• instanceof – vraća true ako neki objekatpripada navedenoj klasi
b = c1 instanceof Cilindar // b će biti true
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 29/56
2004 Mašinski fakultet u Nišu
Literali - konstante
• Programski elementi koji se koriste na
nepromenljiv način se nazivaju literali• Celobrojni literali:
– Decimalni: 12
– Heksadecimalni – počinju sa 0x: 0xC – Oktalni – počinju sa 0: 014
• Realni Literali: – Standardna notacija: 3.142
– Naučna notacija: 7.921e4
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 30/56
2004 Mašinski fakultet u Nišu
Literali
• Bulovi literali
– True, false• Karakter literali:
– “ovo je string”, “Zoran Petrovic” – Postoje i specijalni karakteri koji imaju
upravljačku funkciju
S ij l i k kt i
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 31/56
2004 Mašinski fakultet u Nišu
Specijalni karakteriDescription Representation
Backslash \\
Continuation \
Backspace \b
Carriage return \r
Form feed \f Horizontal tab \t
Newline \n
Single quote \'
Double quote \"
Unicode character \udddd
Octal character \ddd
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 32/56
2004 Mašinski fakultet u Nišu
Modifikatori
• Menjaju
– životni vek, skladište, ponašanje i – dostupnost
klase, metode ili promenljive.
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 33/56
2004 Mašinski fakultet u Nišu
Modifikator apstract
• Kada se primenjije na klasu ukazuje da je klasaapstraktna i da se iz nje ne mogu kreirati
instance.• Abstraktna klasa je ona u kojoj je jedna ili više
metoda deklarisana, ali nije definisana (to jeapstraktna metoda)
• Deklaracija apstraktne metode se završavaznakom ;
• U nekoj podklasi se definišu metode i onda semogu instancirati objekti
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 34/56
2004 Mašinski fakultet u Nišu
Primer modifikatora apstract
public apstract class GeometrijskaTela {
public abstract omotac ( ); // apstraktna metodapublic double tezina ( ) {return v*g; }
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 35/56
2004 Mašinski fakultet u Nišu
Modifikator static
• Uobičajeno instance klasa (objekti) imaju
kopiju promenljivih klase (nasleđivanje)• Modifikatorom static moguće je deklarisati
promenljivu tako da pripada samoj klasi ,nezavisno od bilo kog objekta te klase
• Statične promenljive klase se uobičajeno
koriste za čuvanje globalnih informacija oinstancama klase
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 36/56
2004 Mašinski fakultet u Nišu
Primer modifikatora static
class GeometrijskaTela {public static string bojaSvihTela;public string imeTela;public double tezinaTela…
}
class Kocka extends GeometrijskaTela {….}class Cilindar extends GeometrijskaTela {
…..}class Sfera extends GeometrijskaTela {…..
}
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 37/56
2004 Mašinski fakultet u Nišu
Modifikator synchronized
• Sinhronizovana metoda klase omogućava
da samo jedna nit istovremeno može daizvršava metodu
• Primer: nedozvoljeno je da se istovremenosa računa u banci koji ima 100 din. skidana više mesta po100 din.
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 38/56
2004 Mašinski fakultet u Nišu
Modifikator native
• Koristi se prilikom deklarisanja metode
koja je pisana u drugom programskom jeziku (npr. C, C++)
Primer: public native long getData( );
f
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 39/56
2004 Mašinski fakultet u Nišu
Modifikator volatile
• Volatile (neuhvatljiva) je ona promenljiva
čija se vrednost može menjati nezavisnood samog Java programa
• Predstavljaju ulaz iz spoljnog sveta (naprimer ulaz sa senzora ili sistemsko vremena računaru)
M difik t t i t
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 40/56
2004 Mašinski fakultet u Nišu
Modifikator transient
• Koristi se prilikom serijalizacije (zapisivanjapodataka klase na disk)
• Podaci klase koji su deklarisani kao transientneće biti zapisani na disk
Primer public MyClass implements Serializible {
transient protected Graphics g;// ostatak definicije klase
}
M difik t fi l
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 41/56
2004 Mašinski fakultet u Nišu
Modifikator final
• promenljiva klase ili lokalna promenljiva se
može deklarisati kao konstanta koja se nemože promeniti tokom izvršenja programa
• Vrednost ove promenljive se možepromeniti samo izmenom u koduprograma
Primer final double Pi = 3.14159
M difik t t i tf
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 42/56
2004 Mašinski fakultet u Nišu
Modifikator strictfp
• strictfp = striktno floating point
• Koristi se u klasama i metodama• Kada se klasa deklariše kao strictfp onda
su sve metode strictfp• Ako je metoda deklarisana kao strictfp
onda se izrazi iz te metode moraju striktnopridržavati standardu za rad sa fpbrojevima IEEE 754
M difik t i d t ti
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 43/56
2004 Mašinski fakultet u Nišu
Modifikatori dostupnosti
• Klase i njihove metode i promenljive su
dostupne samo klasama iz istog paketa• Ovo se može promeniti modifikatorima:
– private
– protected
– public
Kl tkl i k ti
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 44/56
2004 Mašinski fakultet u Nišu
Klase, potklase i paketi
Kocka Sfera Cilindar
PodklasaDisk
Geometrijskatela
ImeTela, tezinaTezina
PaketGeometrija
Meni
Help
PaketInterface
M difik t i t
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 45/56
2004 Mašinski fakultet u Nišu
Modifikator private
• Ako je klasa deklarisana kao private
nijedna druga klasa ne može pozivatinjene metode niti direktno pristupiti njenimpromenljivim
• Instance jedne private klase mogumeđusobno pristupati privatnim
promenljivim u drugim instancama isteklase
Modifikator protected
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 46/56
2004 Mašinski fakultet u Nišu
Modifikator protected
• Kada je neka klasa deklarisana kao
protected, onda: – Podklase u istom ili nekom drugom paketu
mogu da je nasleđuju
– Može da im se pristupi iz bilo koje klase izistog paketa, ali ne i iz drugih paketa
Modifikator public
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 47/56
2004 Mašinski fakultet u Nišu
Modifikator public
• Klase deklarisane kao public nikome ne
ograničavaju pristup
• Svi mogu pristupiti klasama, metodama ipromenljivima
Dostupnost unutar paketa
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 48/56
2004 Mašinski fakultet u Nišu
Dostupnost unutar paketa
Sfera
Cilindar
PodklasaDisk
PaketGeometrija
int a;public int b;
protected int c;private int d;
OK
OK
OK
OK
OK
OK
NE NE
Dostupnost iz drugih paketa
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 49/56
2004 Mašinski fakultet u Nišu
Dostupnost iz drugih paketa
Sfera
Cilindar
PodklasaDisk
Paket_1
int a;public int b;
protected int c;private int d;
OK
OK
NE
NE
Paket_2 Paket_3
NE
OK
debu
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 50/56
2004 Mašinski fakultet u Nišu
JAVAPROMENLJIVE, TIPOVI I
VREDNOSTIDr Miroslav Trajanović
debug Write once, run anywhere
Promenljiva
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 51/56
2004 Mašinski fakultet u Nišu
Promenljiva• Promenljiva je memorijska lokacija
• Vrednost promenljive je sadržaj upisan na toj
memorijskoj lokaciji• Primer: byte starost = 69
Adresa memorijske lokacije Sadržaj
00110101110100010010001111100101 01000101
starost69
TIPOVI PROMENLJIVIH
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 52/56
2004 Mašinski fakultet u Nišu
TIPOVI PROMENLJIVIH
• Svaka promenljiva i svaki izraz u Javi imadefinisan tip koji je poznat prilikom kompajliranja
• Tipovi: – ograničavaju vrednosti koje promenljiva može da ima
ili koju izraz može da izračuna,
– ograničavaju operacije koje su podržane nad timvrednostima i
– određuju značenje operacija
• Tipovi se mogu podeliti u dve kategorije: – Primitivni tipovi (8 tipova)
– Referentni tipovi
Primitivni tipovi
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 53/56
2004 Mašinski fakultet u Nišu
Primitivni tipovi• Logički tip: boolean• Numerički tipovi
– Celobrojni• byte,• short,
• int,• long,• char (jedan Unicode karakter)
– Realni tipovi• float• double
Primitivni tipovi
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 54/56
2004 Mašinski fakultet u Nišu
Primitivni tipoviTip br.
bitaMin. vrednost Maksimalna
vrednost
boolean 1byte 8 -128 127
short 16 -32768 32767int 32 -2147483648 2147483647
long 64 -9223372036854775808 9223372036854775807
char 16 0 65535
float 32 -3.4 x 1038 3.4 x 1038
double 64 -1.7 x 10308 1.7 x 10308
Referentni tipovi
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 55/56
2004 Mašinski fakultet u Nišu
Referentni tipovi
• Vrednost referentnih tipova su reference(pokazivači) na objekte
• Referentni tipovi su:
– class
– interface – array
– specijalni null tip (referencira na objekt koji nepostoji)
• Objekti su instance klasa ili polja
7 vrsta promenljivih
5/10/2018 Masfak p10 Java Elementi Jezika i Promenljive v2 - slidepdf.com
http://slidepdf.com/reader/full/masfak-p10-java-elementi-jezika-i-promenljive-v2 56/56
2004 Mašinski fakultet u Nišu
7 vrsta promenljivih
• Promenljive klasa
• Promenljive instanci• Elementi polja (vektori, matrice)
• Parametri metoda• Parametri konstruktora
• Parametri exception-handler-a• Lokalne promenljive