masfak p10 java elementi jezika i promenljive v2

56
 2004 Mašinski fakultet u Nišu JAVA SINTAKSA JEZIKA Dr Miroslav Trajanović debug Write once, run anywhere

Upload: marija-todorovic-ex-ban

Post on 10-Jul-2015

65 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 2: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 3: Masfak p10 Java Elementi Jezika i Promenljive v2

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.

 

Page 4: Masfak p10 Java Elementi Jezika i Promenljive v2

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

• { } ; , :

 

Page 5: Masfak p10 Java Elementi Jezika i Promenljive v2

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;

 

Page 6: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 7: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 8: Masfak p10 Java Elementi Jezika i Promenljive v2

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)

 

Page 9: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 10: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 11: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 12: Masfak p10 Java Elementi Jezika i Promenljive v2

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

+ - * / % & |

^ ~ && || ! < >

<= >= << >> >>> = ?

++ -- == += -= *= /=

%= &= |= ^= != <<= >>=

>>>= . [ ] ( )

 

Page 13: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 14: Masfak p10 Java Elementi Jezika i Promenljive v2

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"

}

}

 

Page 15: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 16: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 17: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 18: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 19: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 20: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 21: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 22: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 23: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 24: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 25: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 26: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 27: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 28: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 29: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 30: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 31: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 32: Masfak p10 Java Elementi Jezika i Promenljive v2

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.

 

Page 33: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 34: Masfak p10 Java Elementi Jezika i Promenljive v2

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; }

 

Page 35: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 36: Masfak p10 Java Elementi Jezika i Promenljive v2

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 {…..

}

 

Page 37: Masfak p10 Java Elementi Jezika i Promenljive v2

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.

 

Page 38: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 39: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 40: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 41: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 42: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 43: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 44: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 45: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 46: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 47: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 48: Masfak p10 Java Elementi Jezika i Promenljive v2

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

 

Page 49: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 50: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 51: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 52: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 53: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 54: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 55: Masfak p10 Java Elementi Jezika i Promenljive v2

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

Page 56: Masfak p10 Java Elementi Jezika i Promenljive v2

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