Transcript File

Glava 2
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
© 2004 Pearson Addison-Wesley. All rights reserved
2-2
Pregled
Stringovi karaktera
Varijable i dodjela
Osnovni tipovi podataka
Izrazi
Konverzija podataka
Interaktivni programi
Grafika
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"
• Svaki karakter string je jedan objekt u Javi,
definisan preko klase String
• Svaki string literal predstavlja jedan String
objekat
© 2004 Pearson Addison-Wesley. All rights reserved
2-4
Metoda println
• U programu Lincoln Glave 1, zvali smo metodu
println za stampanje stringa karaktera
• System.out objekat predstavlja odrediste
(monitor skrin) na koji mozemo poslati izlaz
System.out.println (“Sta god da si, budi dobar u tome.");
objekat
ime
metode
© 2004 Pearson Addison-Wesley. All rights reserved
informacije date metodi
(parameteri)
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
© 2004 Pearson Addison-Wesley. All rights reserved
2-6
Konkatenacija (dopisivanje)
stringova
• Operator konkatenacije stringova (+) se koristi za
dodavanje jednog stringa na drugi
“Kikiriki buter " + “i zele"
• Moze se koristiti i za dodavanje broja na string
• String literal ne moze biti prelomljen u dvije linije
programa
• Vidi Facts.java (page 65)
© 2004 Pearson Addison-Wesley. All rights reserved
2-7
Konkatenacija stringova
• Operator + se koristi i za aritmeticku operaciju
sabiranja
• Funkcija koju vrsi zavisi od tipa operanada na
kojima se izvodi
• Ako su oba operanda stringovi, ili ako je jedan
string a jedan broj, on vrsi konkatenaciju stringova
• Ako su oba operatora numericki on ih sabira
• Operator + se izvodi sa lijeva u desno, ali pomocu
zagrada mozemo forsirati poredak
• Vidi Addition.java (page 67)
© 2004 Pearson Addison-Wesley. All rights reserved
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.");
• Escape sekvenca je niz karaktera koji predstavljaju
neki specijalan karakter
• Escape sekvenca pocinje sa “beksles” karakterom
(\)
System.out.println (“Ja kazem \“Zdravo\" Vama.");
© 2004 Pearson Addison-Wesley. All rights reserved
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
• Vidi Roses.java (strana 68)
© 2004 Pearson Addison-Wesley. All rights reserved
2-10
Pregled
Stringovi karaktera
Varijable i dodjela
Prosti (osnovni) tipovi podataka
Izrazi
Konverzija podataka
Interaktivni programi
Grafika
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
© 2004 Pearson Addison-Wesley. All rights reserved
2-12
Inicijalizacija varijable
• Nekoj varijabli mozemo dati pocetnu (inicijalnu)
vrijednost u deklaraciji
int sum = 0;
int baza = 32, max = 149;
• Kada se pozivamo na neku varijablu u programu,
koristimo njenu trenutnu vrijednost
• Vidi PianoKeys.java (strana 70)
© 2004 Pearson Addison-Wesley. All rights reserved
2-13
Dodjela
• Komanda dodjele mijenja vrijednost varijable
• Operator dodjele je znak =
total = 55;
• Izraz na desnoj strani se izracunava i dodjeljuje u
varijablu na lijevoj strani
• Vrijednost koja je bila na total se gubi
• Varijabli se moze dodijeliti samo vrijednost koja je
u saglasnosti sa tipom u deklaraciji varijable
• Vidi Geometry.java (strana 71)
© 2004 Pearson Addison-Wesley. All rights reserved
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;
© 2004 Pearson Addison-Wesley. All rights reserved
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
• Drugo, ubrzavaju upravljanje programom
 Ako se konstanta koristi na vise mjesta, njena vrijednost
treba biti zamijenjena samo na jednom mjestu
• Trece, formalno ustanovljavaju da neka vrijednost
nece biti mijenjana i sprecavaju greske koje bi
mogli napraviti drugi programeri
© 2004 Pearson Addison-Wesley. All rights reserved
2-16
Pregled
Stringovi karaktera
Varijable i dodjela
Prosti (osnovni) tipovi podataka
Izrazi
Konverzija podataka
Interaktivni programi
Grafika
Apleti
Crtanje oblika
© 2004 Pearson Addison-Wesley. All rights reserved
2-17
Prosti (osnovni) podaci
• Postoji osam osnovnih tipova podataka u Javi
• Cetiri predstavljaju cijele brojeve:
 byte, short, int, long
• Dva predstavljaju realne brojeve u pokretnom
zarezu:
 float, double
• Jedan predstavlja karaktere:
 char
• Jedan predstavlja logicke (boolean) vrijednosti:
 boolean
© 2004 Pearson Addison-Wesley. All rights reserved
2-18
Numericki osnovni podaci
• Razlika izmedju raznih numerickih tipova je u
duzini, pa dakle i u vrijednostima koje oni mogu
cuvati:
Tip
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
+/- 3.4 x 1038 sa 7 znacajnih cifara
+/- 1.7 x 10308 sa 15 znacajnih cifara
© 2004 Pearson Addison-Wesley. All rights reserved
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
© 2004 Pearson Addison-Wesley. All rights reserved
2-20
Skupovi karaktera (kodovi)
• Skup karaktera je uredjena lista karaktera, u kojoj
svaki karakter odgovara jedinstvenom broju
• Varijabla u Javi moze nositi svaki karakter iz skupa
karaktera Unicode
• Unicode kod koristi sesnaest bita po karakteru,
dopustajuci 65,536 jedinstvenih karaktera
• To je internacionalni kod, koji sadrzi karaktere iz
raznih jezika svijeta
© 2004 Pearson Addison-Wesley. All rights reserved
2-21
Karakteri
• ASCII kod je stariji i manji nego Unicode, ali je jos
uvijek popularan
• ASCII kod je podskup Unicode koda, ukljucuje:
velika slova
mala slova
znake interpunkcije
cifre
specijalne simbole
kontrolne karaktere
© 2004 Pearson Addison-Wesley. All rights reserved
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
• Rezervisane rijeci true i false su jedine
validne vrijednosti logickog tipa
boolean kraj = false;
• boolean varijabla moze takodje biti koristena za
predstavljanje dva stanja, kao sto je sijalica koja
moze biti on ili off
© 2004 Pearson Addison-Wesley. All rights reserved
2-23
Pregled
String karaktera
Varijable i dodjela
Prosti tipovi podataka
Izrazi
Konverzija podataka
Interaktivni programi
Grafika
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
+
*
/
%
• Ako su oba operanda aritmetickog operatora tipa
floating point, tada je i rezultat tipa floating point
© 2004 Pearson Addison-Wesley. All rights reserved
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
4
8 / 12
jednako je
0
• Operator ostatka (%) vraca ostatak nakon dijeljenja
prvog operanda sa drugim
14 % 3
jednako je
2
8 % 12
jednako je
8
© 2004 Pearson Addison-Wesley. All rights reserved
2-26
Prioritet operatora
• Operatori se mogu kombinovati u slozene izraze:
result
=
total + count / max - offset;
• Operatori imaju definisane prioritete koji
odredjuju poredak u kojem se operatori izvode
• Mnozenje, dijeljenje, i ostatak se izracunavaju
prije sabiranja, oduzimanja i konkatenacije
• Aritmeticki operatori sa istim prioritetom se
racunaju sa lijeva na desno, ali se koristenjem
zagrada moze forsirati red izvodjenja
© 2004 Pearson Addison-Wesley. All rights reserved
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
© 2004 Pearson Addison-Wesley. All rights reserved
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
© 2004 Pearson Addison-Wesley. All rights reserved
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
=
suma / 4 + MAX * najmanji;
4
1
3
2
Zatim se rezultat upisuje na
variablu na lijevoj strani
© 2004 Pearson Addison-Wesley. All rights reserved
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;
Tada se rezultat zapisuje nazad u brojac
(preko originalne vrijednosti)
© 2004 Pearson Addison-Wesley. All rights reserved
2-31
Inkrement i dekrement
• Operatori inkrementiranja i dekrementiranja
koriste samo jedan operand
• Inkrement operator (++) dodaje jedinicu na
operand
• Dekrement operator (--) oduzima jedinicu od svog
operanda
• Komanda
count++;
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
• Java uvodi operator dodjele da bi uprostili taj
proces
• Na primjer, komanda
num += count;
je ekvivalentna
num = num + count;
© 2004 Pearson Addison-Wesley. All rights reserved
2-34
Operatori dodjele
• Postoji puno operatora dodjele u Javi, ukljucujuci
slijedece:
Operator
+=
-=
*=
/=
%=
Primjer
x
x
x
x
x
© 2004 Pearson Addison-Wesley. All rights reserved
+=
-=
*=
/=
%=
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
• Prvo se sracuna vrijednost cijele desne strane, a
onda se rezultat kombinuje sa originalnom
varijablom
• Dakle
result /= (total-MIN) % num;
je ekvivalentno sa
result = result / ((total-MIN) % num);
© 2004 Pearson Addison-Wesley. All rights reserved
2-36
Operatori dodjele
• Ponasanje nekih operatora dodjele zavisi od tipa
operanda
• Ako su operandi za += operator stringovi, operator
dodjele ce izvrsiti operaciju konkatenacije
(dopisivanja) stringova
• Ponasanje operatora dodjele (+=) je uvijek
konzistentan sa ponasanjem odgovarajuceg
operatora (+)
© 2004 Pearson Addison-Wesley. All rights reserved
2-37
Pregled
Stringovi karaktera
Varijable i dodjela
Prosti (osnovni) tipovi podataka
Izrazi
Konverzija podataka
Interaktivni programi
Grafika
Apleti
Crtanje oblika
© 2004 Pearson Addison-Wesley. All rights reserved
2-38
Konverzija podataka
• Ponekad je zgodno konvertovati podatke jednog
tipa u drugi tip
• Na primjer, u partikularnom slucaju, moze biti
potrebno tretirati integer kao realan broj u
pokretnom zarezu
• Ove konverzije ne mijenjaju tip varijable ili
vrijednost koja se cuva u varijabli – one konvertuju
vrijednost kao dio racunanja i predstavljaju je na
nekoj drugoj lokaciji
© 2004 Pearson Addison-Wesley. All rights reserved
2-39
Konverzija podataka
• Konverziju moramo pazljivo izvoditi da ne
izgubimo podatke
• Konverzije prosirivanja su sigurne jer idu od
manjeg tipa ka vecem (kao short u int)
• Konverzije suzavanja mogu izgubiti informaciju jer
one idu od veceg tipa ka manjem tipu (kao int u
short)
• U Javi, konverzija podataka se pojavljuje na tri
nacina:
 konverzija dodjele
 promocija
 kasting
© 2004 Pearson Addison-Wesley. All rights reserved
2-40
Konverzija dodjele
• Konverzija dodjele pojavljuje se kada je vrijednost
jednog tipa dodijeljena varijabli drugog tipa
• Ako je novac tipa float, a dolari je int
varijabla, slijedeca dodjela konvertuje vrijednost
dolari u float
novac = dolari
• Dozvoljena je samo konverzija prosirenja pri
dodjeli
• Obratite paznju da se vrijednost i tip varijable
dolar ne mijenja
© 2004 Pearson Addison-Wesley. All rights reserved
2-41
Konverzija podataka
• Promocija se desava automatski kada operator u
izrazu konvertuje svoje operande
• Na primjer, ako je suma tipa float i brojac tipa
int, tada se vrijednost brojac konvertuje u realan
broj sa pokretnim zarezom, da bi se izvrsilo
slijedece racunanje:
resultat = suma / brojac;
© 2004 Pearson Addison-Wesley. All rights reserved
2-42
Kasting
• Kasting je najmocnija, ali i opasna tehnika za
konverziju
• Oba, prosirenje i suzenje mogu biti ekspilicitno
ostvareni kastingom vrijednosti varijable
• Za kasting, tip varijable se stavi u zagrade ispred
varijable koja se konvertuje
• Na primjer, ako su total i brojac cijeli, ali mi
zelimo float kao rezultat pri njihovom dijeljenju, mi
mozemo napraviti kasting od total:
resultat = (float) total / brojac;
© 2004 Pearson Addison-Wesley. All rights reserved
2-43
Pregled
Stringovi karaktera
Varijable i dodjela
Prosti tipovi podataka
Izrazi
Konverzija podataka
Interaktivni programi
Grafika
Aplrti
Crtanje oblika
© 2004 Pearson Addison-Wesley. All rights reserved
2-44
Interaktivni programi
• Programi uglavnom trebaju neki ulaz na kojem
rade
• Scanner klasa daje pogodan metod za citanje
ulaznih vrijednosti raznih tipova
• Scanner objekat moze se setovati tako da cita ulaz
iz raznih izvora ukljucujuci i vrijednosti koje
korisnik unosi sa tastature
• Tastatura je predstavljena objektom System.in
© 2004 Pearson Addison-Wesley. All rights reserved
2-45
Citanje ulaza
• U slijedecoj liniji je kreiran Scanner objekt koji cita
sa tastature:
Scanner unos = new Scanner (System.in);
• Operator new kreira objekat tipa Scanner
• Nakon sto je kreiran, Scanner objekat moze biti
koristen da zove razne metode ulaza, kao sto je:
odgovor = scan.nextLine();
© 2004 Pearson Addison-Wesley. All rights reserved
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
© 2004 Pearson Addison-Wesley. All rights reserved
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
• next metoda klase Scanner cita slijedeci ulazni
token i vraca ga kao string
• Metode kao nextInt i nextDouble cita podatke
partikularnog tipa
• Vidi GasMileage.java (strana 92)
© 2004 Pearson Addison-Wesley. All rights reserved
2-48
Pregled
Stringovi karaktera
Varijable I dodjela
Prosti tipovi podataka
Izrazi
Konverzija podataka
Interaktivni programi
Grafika
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)
• Slika ili crtez mora biti digitalizovana za cuvanje na
kompjuteru
• Slika je napravljena od piksela (elemenata slike) i
svaki se piksel cuva zasebno
• Broj piksela koji se koriste da predstave sliku
naziva se rezolucija slike
• Broj piksela koji se mogu prikazati na monitoru
naziva se rezolucija monitora
© 2004 Pearson Addison-Wesley. All rights reserved
2-50
Koordinatni sistem
• Svaki piksel mozemo identifikovati koristeci dvodimenzionalni koordinatni sistem
• Kada referisemo jedan piksel u Java programu, mi
koristimo koordinatni sistem sa pocetkom u
gornjem lijevom uglu
(0, 0)
112
X
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)
• Obojena slika zahtijeva vise informacije; postoji
vise tehnika za predstavljanje boja
• Na primjer, svaka boja moze biti predstavljena kao
smjesa tri osnovne boje crvene, zelene i plave
• Svaka boja je predstavljena sa tri broja izmedju 0 i
255 koji se zajedno nazivaju RGB vrijednost
© 2004 Pearson Addison-Wesley. All rights reserved
2-52
Klasa Color
• Boja se u Java programu predstavlja kao objekat
kreiran iz klase Color
• Color klasa takodje sadrzi predefinisane boje,
ukljucujuci I slijedece:
Objekat
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
© 2004 Pearson Addison-Wesley. All rights reserved
2-53
Pregled
Stringovi karaktera
Varijable I dodjela
Prosti tipovi podataka
Izrazi
Konverzija podataka
Interaktivni programi
Grafika
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)
• Java applet je program koji je namijenjen za
transport preko Web i izvodi se koristeci neki web
browser
• Aplet takodje moze biti izveden koristeci
appletviewer alat u Java Software Development Kit
• Aplet nema main metodu
• Umjesto toga, postoji nekoliko specijalnih metoda
sa specificnom namjenom
© 2004 Pearson Addison-Wesley. All rights reserved
2-55
Apleti
• Na primjer, paint metoda se izvodi automatski I
koristi se da nacrta sadrzaj apleta
•
Metoda paint prihvata parametar koji je objekat
klase Graphics
• Graphics objekat definise graphics context na
kojem mozemo crtati oblike i tekst
• Klasa Graphics ima vise metoda za crtanje
oblika
© 2004 Pearson Addison-Wesley. All rights reserved
2-56
Apleti
• Klasa koja definise neki aplet extends klasu
Applet
• Pri tome koristimo nasljedjivanje (inheritance), sto
ce biti objasnjeno kasnije
• Vidi Einstein.java (strana 97)
• Aplet je ulozen u HTML fajl koristenjem tag-a koji
referencira byte-kod fajl apleta
• Byte-kod verzija programa se transportuje preko
web-a i izvodi pomocu Java interpretera, koji je dio
browser-a
© 2004 Pearson Addison-Wesley. All rights reserved
2-57
HTML aplet tag
<html>
<head>
<title>Aplet Ajnstajn</title>
</head>
<body>
<applet code="Einstein.class" width=350 height=175>
</applet>
</body>
</html>
© 2004 Pearson Addison-Wesley. All rights reserved
2-58
Pregled
Skup karaktera
Varijable i dodjela
Prosti tipovi podataka
Izrazi
Konverzija podataka
Interaktivni programi
Grafika
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
• Oblik moze biti popunjen ili nepopunjen, zavisno
od metode koja je pozvana
• Parametri metode odredjuju koordinate i velicinu
• Oblici sa krivinom, kao ova, obicno se crtaju sa
ogranicavajucim pravougaonikom (bounding
rectangle)
• Luk se moze shvatiti kao dio ovala
© 2004 Pearson Addison-Wesley. All rights reserved
2-60
Crtanje linije
10
150
X
20
45
Y
page.drawLine (10, 20, 150, 45);
ili
page.drawLine (150, 45, 10, 20);
© 2004 Pearson Addison-Wesley. All rights reserved
2-61
Crtanje pravougaonika
50
X
20
40
100
Y
page.drawRect (50, 20, 100, 40);
© 2004 Pearson Addison-Wesley. All rights reserved
2-62
Crtanje ovala
175
X
20
80
Granicni
pravougaonik
50
Y
page.drawOval (175, 20, 50, 80);
© 2004 Pearson Addison-Wesley. All rights reserved
2-63
Crtanje oblika
• Svaka povrsina ima obojenu pozadinu
(background color)
• Svaki graficki sadrzaj ima tekuci foreground color
• Oba skupa mogu biti eksplicitna
• Vidi Snowman.java (strana103)
© 2004 Pearson Addison-Wesley. All rights reserved
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
© 2004 Pearson Addison-Wesley. All rights reserved
2-65