Professional Documents
Culture Documents
Java
Java
Podaci i izrazi
Podaci i izrazi
Izlazemo neke druge programske koncepte
U glavi 2 objasnjavamo:
stringove karaktera
osnovne (primitivne) podatke
deklaracije i koristenje varijabli
izraze i prioritet operatora
konverziju podataka
preuzimanje ulaza od korisnika
Java apleti
uvod u grafiku
2-2
Pregled
Stringovi karaktera
Varijable i dodjela
Apleti
Crtanje oblika
2004 Pearson Addison-Wesley. All rights reserved
2-3
Stringovi karaktera
String karaktera moze biti predstavljen kao string
literal stavljanjem navodnika oko teksta:
Primjeri:
Ovo je string literal."
"123 Glavna ulica"
"X"
2-4
Metoda println
U programu Lincoln Glave 1, zvali smo metodu
println za stampanje stringa karaktera
objekat
ime
metode
2-5
Metod print
System.out objekat daje slican servis
print metod je slican println metodu, izuzev da
ne prelazi u slijedecu liniju
Dakle sve stampano poslije komande print ostaje
u istoj liniji
Vidi Countdown.java
2-6
Konkatenacija (dopisivanje)
stringova
Operator konkatenacije stringova (+) se koristi za
dodavanje jednog stringa na drugi
2-7
Konkatenacija stringova
Operator + se koristi i za aritmeticku operaciju
sabiranja
2-8
Escape sekvence
Sta ako zelimo stampati navodnike?
Slijedeca linija moze zbuniti kompajler jer drugi
znak navoda moze interpretirati kao kraj stringa
System.out.println (Ja kazem Zdravo" Vama.");
2-9
Escape sekvence
Neke Java escape sekvence:
Escape Sekvence
\b
\t
\n
\r
\"
\'
\\
Znacenje
backspace
tab
newline
carriage return
double quote
single quote
backslash
2-10
Pregled
Stringovi karaktera
Varijable i dodjela
Apleti
Crtanje oblika
2004 Pearson Addison-Wesley. All rights reserved
2-11
Varijable
Varijabla je ime za lokaciju u memoriji
Varijabla mora biti deklarisana navodjenjem imena
varijable i tipa informacije koju ona nosi
ime varijable
tip podatka
int total;
int brojac, temp, rezultat;
Vise varijabli moze biti kreirano u jednoj deklaraciji
2-12
Inicijalizacija varijable
Nekoj varijabli mozemo dati pocetnu (inicijalnu)
vrijednost u deklaraciji
int sum = 0;
int baza = 32, max = 149;
2-13
Dodjela
Komanda dodjele mijenja vrijednost varijable
Operator dodjele je znak =
total = 55;
2-14
Konstante
Konstanta je identifikator koji je slican varijabli
osim sto zadrzava svoju vrijednost tokom
izvodjenja programa
Kao sto ime kaze, to je konstanta, a ne varijabla
Kompajler daje poruku o gresci ako pokusate
promijeniti vrijednost konstantne
U Javi koristimo modifikator final da deklarisemo
konstantu
final int MIN_VISINA = 69;
2-15
Konstante
Konstante su korisne iz tri vazna razloga
Prvo, daju smisao vrijednosti koji bi inace bio
nejasan
Na primjer, MAX_LOAD je jasniji nego literal 250
2-16
Pregled
Stringovi karaktera
Varijable i dodjela
Apleti
Crtanje oblika
2004 Pearson Addison-Wesley. All rights reserved
2-17
2-18
Memorija
Min Vrij
Max Vrij
byte
short
int
long
8 bits
16 bits
32 bits
64 bits
-128
-32,768
-2,147,483,648
< -9 x 1018
127
32,767
2,147,483,647
> 9 x 1018
float
double
32 bits
64 bits
2-19
Karakteri
char varijabla cuva jedan karakter
Literali karaktera su ogradjeni u apostrofe:
'a'
'X'
'7'
'$'
','
'\n'
Primjeri deklaracija:
char najvecaOcjena = 'A';
char terminator = ';', separator = ' ';
Obratite paznju na razliku izmedju karakter varijable, koja
moze nositi samo jedan karakter i objekta Stringa koji se
sastoji od vise karaktera
2-20
2-21
Karakteri
ASCII kod je stariji i manji nego Unicode, ali je jos
uvijek popularan
A, B, C,
a, b, c,
tacka, tacka-zarez,
0, 1, 2,
&, |, \,
carriage return, tab, ...
2-22
Boolean
boolean vrijednost predstavlja true ili false
uslove
2-23
Pregled
String karaktera
Varijable i dodjela
Apleti
Crtanje oblika
2004 Pearson Addison-Wesley. All rights reserved
2-24
Izrazi
Izraz je kombinacija jednog ili vise operatora i
operanada
Aritmeticki izrazi racunaju numericke rezultate i
koriste aritmeticke operatore:
Sabiranje
Oduzimanje
Mnozenje
Dijeljenje
ostatak
+
*
/
%
2-25
Dijeljenje i ostatak
Ako su oba operanda za operator dijeljenja cijeli
brojevi, rezultat je cio broj (decimalni dio je
odbacen)
14 / 3
jednako je
8 / 12
jednako je
jednako je
8 % 12
jednako je
2-26
Prioritet operatora
Operatori se mogu kombinovati u slozene izraze:
result
2-27
Prioritet operatora
Kojim se redom izvode slijedeci operatori?
a + b + c + d + e
1
2
3
4
a + b * c - d / e
3
1
4
2
a / (b + c) - d % e
2
1
4
3
a / (b * (c + (d - e)))
4
3
2
1
2-28
Drvo izraza
Racunanje partikularnog izraza moze biti
prikazano koristeci drvo izraza
Operatori koji su nize u drvetu izraza imaju visi
prioritet za taj izraz
+
a + (b c) / d
a
b
d
c
2-29
Jos o dodjeli
Operator dodjele ima nizi prioritet od aritmetickih
operatora
Prvo se racuna izraz na desnoj strani
od = operatora
odgovor
2-30
Jos o dodjeli
Desna i lijeva strana komande dodjele mogu
sadrzati istu varijablu
Prvo, jedan se dodaje na
originalnu vrijednost brojac
brojac
brojac + 1;
2-31
Inkrement i dekrement
Operatori inkrementiranja i dekrementiranja
koriste samo jedan operand
je funkcionalno ekvivalentna sa
count = count + 1;
2004 Pearson Addison-Wesley. All rights reserved
2-32
Inkrement i dekrement
Operatori inkrementiranja i dekrementiranja mogu
biti primmijenjeni u postfiksnoj formi:
count++
ili perfiksnoj formi:
++count
Kada se koristi kao dio veceg izraza, ove dvije
forme mogu imati razlicite efekte
Zbog njihove suptilnosti, operatore
inkrementiranja i dekrementiranja treba pazljivo
upotrebljavati
2004 Pearson Addison-Wesley. All rights reserved
2-33
Operator dodjele
Cesto izvodimo operaciju na varijabli, a zatim
pisemo rezultat u tu varijablu
2-34
Operatori dodjele
Postoji puno operatora dodjele u Javi, ukljucujuci
slijedece:
Operator
+=
-=
*=
/=
%=
Primjer
x
x
x
x
x
+=
-=
*=
/=
%=
y
y
y
y
y
Ekvivalentan sa
x
x
x
x
x
=
=
=
=
=
x
x
x
x
x
+
*
/
%
y
y
y
y
y
2-35
Operatori dodjele
Desna strana operatora dodjele moze biti slozen
izraz
je ekvivalentno sa
result = result / ((total-MIN) % num);
2-36
Operatori dodjele
Ponasanje nekih operatora dodjele zavisi od tipa
operanda
2-37
Pregled
Stringovi karaktera
Varijable i dodjela
Apleti
Crtanje oblika
2004 Pearson Addison-Wesley. All rights reserved
2-38
Konverzija podataka
Ponekad je zgodno konvertovati podatke jednog
tipa u drugi tip
2-39
Konverzija podataka
Konverziju moramo pazljivo izvoditi da ne
izgubimo podatke
2-40
Konverzija dodjele
Konverzija dodjele pojavljuje se kada je vrijednost
jednog tipa dodijeljena varijabli drugog tipa
2-41
Konverzija podataka
Promocija se desava automatski kada operator u
izrazu konvertuje svoje operande
2-42
Kasting
Kasting je najmocnija, ali i opasna tehnika za
konverziju
2-43
Pregled
Stringovi karaktera
Varijable i dodjela
Aplrti
Crtanje oblika
2004 Pearson Addison-Wesley. All rights reserved
2-44
Interaktivni programi
Programi uglavnom trebaju neki ulaz na kojem
rade
2-45
Citanje ulaza
U slijedecoj liniji je kreiran Scanner objekt koji cita
sa tastature:
Scanner unos = new Scanner (System.in);
2-46
Citanje ulaza
Scanner klasa je dio biblioteke klasa java.util,
koja mora biti importovana u program da bi je
mogli koristiti
Vidi Echo.java
nextLine metoda cita ulaz sve dok ne dodje do
kraja linije
Detalji kreiranja objekata I klasa bice jos
diskutovani u Glavi 3
2-47
Tokenizacija ulaza
Ako nije specifirano drugacije, razmak (white
space) se koristi za razdvajanje elemenata ulaza
(koje zovemo tokens)
Razmaci ukljucuju karakter razmaka, tabove,
karaktere nove linije
2-48
Pregled
Stringovi karaktera
Varijable I dodjela
Apleti
Crtanje oblika
2004 Pearson Addison-Wesley. All rights reserved
2-49
Uvod u grafiku
Nekoliko zadnjih sekcija svake glave posvecene
su grafici i grafickom interfejsu korisnika (GUI)
2-50
Koordinatni sistem
Svaki piksel mozemo identifikovati koristeci dvodimenzionalni koordinatni sistem
112
40
(112, 40)
Y
2004 Pearson Addison-Wesley. All rights reserved
2-51
Predstavljanje boje
Crno-bijela slika moze biti sacuvana koristeci
jedan bit po pikselu (0 = bijelo i 1 = crno)
2-52
Klasa Color
Boja se u Java programu predstavlja kao objekat
kreiran iz klase Color
RGB Vrijednost
Color.black
Color.blue
Color.cyan
Color.orange
Color.white
Color.yellow
0, 0, 0
0, 0, 255
0, 255, 255
255, 200, 0
255, 255, 255
255, 255, 0
2-53
Pregled
Stringovi karaktera
Varijable I dodjela
Apleti
Crtanje oblika
2004 Pearson Addison-Wesley. All rights reserved
2-54
Apleti
Java aplikacija je nezavisan program sa main
metodom (slicno onima koje smo do sada vidjeli)
2-55
Apleti
Na primjer, paint metoda se izvodi automatski I
koristi se da nacrta sadrzaj apleta
2-56
Apleti
Klasa koja definise neki aplet extends klasu
Applet
2-57
<head>
<title>Aplet Ajnstajn</title>
</head>
<body>
<applet code="Einstein.class" width=350 height=175>
</applet>
</body>
</html>
2-58
Pregled
Skup karaktera
Varijable i dodjela
Apleti
Crtanje oblika
2004 Pearson Addison-Wesley. All rights reserved
2-59
Crtanje oblika
Objasnjavamo neke metode klase Graphics, koje
crtaju oblike, sa vise detalja
2-60
Crtanje linije
10
150
20
45
2-61
Crtanje pravougaonika
50
20
40
100
2-62
Crtanje ovala
175
20
80
Granicni
pravougaonik
50
2-63
Crtanje oblika
Svaka povrsina ima obojenu pozadinu
(background color)
2-64
Sazetak
U glavi 2 smo razmatrali:
Stringove karaktera
Proste tipove
Deklaraciju i koristenje varijabli
Izraze i prioritet operatora
Konverziju podataka
Prihvatanje korisnickog ulaza
Java aplete
Uvod u grafiku
2-65