zima 2009/10
-
Upload
alden-greene -
Category
Documents
-
view
33 -
download
1
description
Transcript of zima 2009/10
![Page 1: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/1.jpg)
zima 2009/10
![Page 2: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/2.jpg)
Programski jezik Java
• Istorijat Jave
– Proizvod firme “Sun Microsystems”– 1990-1991: jezik Oak– 1994: Promenjen naziv u Java– 1995: Java se objavljuje na SunWorld-u– 1996: IBM i Microsoft kupuju licencu
Dejan Živković Programiranje I 2
![Page 3: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/3.jpg)
Programski jezik Java
• Istorijat Jave (nast.)
– 1996: JDK 1.0 (8 paketa sa 212 klasa) – 1997: JDK 1.1 (23 paketa , 504 klase)– 1999: JDK 1.2 (59 paketa, 1520 klasa)– 2000: JDK 1.3 (76 paketa 1842 klase)– 2002. JDK 1.4 (135 paketa, 2991 klasa)– 2004. JDK 1.5 (Java 5)– 2006. JDK 1.6 (Java 6)
Dejan Živković Programiranje I 3
![Page 4: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/4.jpg)
Programski jezik Java
• Glavne karakteristike Jave
– Objektno orijentisan programski jezik opšte namene
– Nezavisan od konkretnog računarskog sistema na kome se koristi (jednom napisan i preveden Java program se može izvršiti na bilo kojoj platformi koja podržava Javu)
Dejan Živković Programiranje I 4
![Page 5: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/5.jpg)
Programski jezik Java
• Programi u Javi se izvršavaju na Java platformi– Java Virtual Machine (JVM): interpretator
(bajtkoda) hipotetičkog računara– Java Application Programming Interface (Java
API): kolekcija gotovih softverskih komponenti koje olakšavaju proces programiranja u Javi
Dejan Živković Programiranje I 5
![Page 6: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/6.jpg)
Programski jezik Java
• JRE: Java Runtime Enviroment– za izvršavanje programa na određenoj
platformi (PC, Apple, Sun ...)
• JDK: Java Development Kit– za razvoj
• java.sun.com
Dejan Živković Programiranje I 6
![Page 7: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/7.jpg)
Programski jezik Java
• Kompajlersko-interpretatorski jezik
Dejan Živković Programiranje I 7
Java program Java bajtkodJava kompajler javac
JVM
Interpretator
Java interpretator java
Operativni sistem
![Page 8: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/8.jpg)
Programski jezik Java• Vrste Java programa
– Aplikacija• uobičajeni program
– Aplet• izvršava se u Web pretraživaču (brauzeru) u okviru
neke Web strane• automatska distribucija i instalacija• ograničene mogućnosti zbog bezbednosti
– Servlet, JSP (Java Server Pages)• izvršava se na Web serveru (dinamičke strane)
Dejan Živković Programiranje I 8
![Page 9: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/9.jpg)
Programski jezik Java
• Razvoj Java programa
– Tekstualno okruženje• Notepad, TextPad, ...
– Grafičko okruženje (IDE)• NetBeans, DrJava, Eclipse, Java Studio, JCreator,
JBuilder, ...
Dejan Živković Programiranje I 9
![Page 10: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/10.jpg)
Programski jezik Java
• Struktura Java programa
– Java program se sastoji od jedne ili više klasa– Izvorni kod svake klase se piše u posebnoj
datoteci čije ime mora biti isto kao ime klase– Ekstenzija datoteke Java izvornog koda mora
biti java
Dejan Živković Programiranje I 10
![Page 11: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/11.jpg)
Programski jezik Java
• Struktura Java programa
public class SabiranjeNiza {
public static void main(String[] args) { . . . } }
Dejan Živković Programiranje I 11
![Page 12: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/12.jpg)
Programski jezik Java
• Prevođenje i izvršavanje u tekstualnom okruženju (DOS prozor)
javac SabiranjeNiza.javajava SabiranjeNiza
Dejan Živković Programiranje I 12
![Page 13: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/13.jpg)
Programski jezik Java
• Struktura Java programa
import java.util.*;
public class SabiranjeNiza {
public static void main(String[] args) { . . . } }
Dejan Živković Programiranje I 13
![Page 14: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/14.jpg)
Paketi• Klase su organizovane po paketima
• Analogija sa fajlovima i folderima u okviru fajl-sistema na disku
• Paket je kolekcija klasa koje čine srodnu celinu (namenjenih jednoj vrsti posla)
• Paketi su biblioteke klasa
• Osnovni paketi:
Dejan Živković Programiranje I 14
java.lang java.util java.io java.net java.awt java.applet
![Page 15: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/15.jpg)
Paketi• Java API sadrži veliki broj klasa koje su
grupisane u pakete
Dejan Živković Programiranje I 15
![Page 16: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/16.jpg)
Paketi
• Paketi olakšavaju nalaženje i korišćenje klasa
• Paketi sprečavaju konflikte imena klasa, jer različiti paketi mogu da sadrže klase sa istim imenom
• Paketi omogućavaju kontrolu upotrebe klasa
Dejan Živković Programiranje I 16
![Page 17: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/17.jpg)
Korišćenje paketa
• Deklaracijom import se “uvoze” sve klase iz nekog paketa pomoću džoker-znaka *
• Deklaracija import se mora pisati pre početka teksta klase
• Paket java.lang se automatski uvozi u sve programe
Dejan Živković Programiranje I 17
![Page 18: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/18.jpg)
Korišćenje paketa
• Primer:
import java.util.*;
public class SabiranjeNiza { public static void main(String[] args) { ... Scanner tastatura = new Scanner(System.in); ... } }
Dejan Živković Programiranje I 18
![Page 19: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/19.jpg)
Osnovni elementi
• Imena (identifikatori)
• Tipovi podataka i literali
• Promenljive
• Izrazi
Dejan Živković Programiranje I 19
![Page 20: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/20.jpg)
Imena (identifikatori)
• Imena za razne elemente Java programa
– Ime mora da počinje slovom, $ ili _– Ostali znaci: slova, cifre, $ ili _– Razlikuju se mala i velika slova– Dužina nije ograničena– Ne mogu se koristiti rezervisane (službene,
ključne) reči
Dejan Živković Programiranje I 20
![Page 21: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/21.jpg)
Imena (identifikatori)
• Službene (ključne) reči imaju unapred definisano značenje
Dejan Živković Programiranje I 21
![Page 22: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/22.jpg)
Imena (identifikatori)
• Primer:
tastatura n x15 9x jedno_VRLO_dugačko_ime brojStudenata znak+ili-
Dejan Živković Programiranje I 22
nivo Nivo NIVO 3praseta druga godina bzvz this
![Page 23: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/23.jpg)
Imena (identifikatori)
• Konvencije za imenovanje– Paketi: sva slova su mala
• mojpaket
– Klase: početna slova svake reči su velika slova• MojaKlasa
– Metod/promenljiva: početno slovo je malo, a naredne reči počinju sa velikim slovima
• mojMetod, mojaPromenljiva
– Konstante: sva slova su velika• MOJA_KONSTANTA
Dejan Živković Programiranje I 23
![Page 24: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/24.jpg)
Tipovi podataka
• Primitivni (prosti) tipovi podataka– “ugrađeni”
• Klasni (referencni) tipovi podataka– “programerski definisani”
Dejan Živković Programiranje I 24
![Page 25: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/25.jpg)
Primitivni (prosti) tipovi
• Celobrojni tip– byte– short– int– long
• Realni tip– float– double
Dejan Živković Programiranje I 25
• Znakovni tip– char
• Logički tip– boolean
![Page 26: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/26.jpg)
Primitivni (prosti) tipovi
• Svi tipovi podataka imaju striktno definisan opseg vrednosti
Dejan Živković Programiranje I 26
![Page 27: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/27.jpg)
Primitivni (prosti) tipovi
Dejan Živković Programiranje I 27
![Page 28: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/28.jpg)
Primitivni (prosti) tipovi
Dejan Živković Programiranje I 28
![Page 29: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/29.jpg)
Primitivni (prosti) tipovi
Dejan Živković Programiranje I 29
![Page 30: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/30.jpg)
Primitivni (prosti) tipovi
• Tip char zauzima dva bajta umesto uobičajenog jednog bajta – predstavlja Unicode znakove (Unicode
standard definiše kodni raspored koji obuhvata praktično sve današnje jezike, uključujući indoevropske, dalekoistočne itd.)
• Tip void označava “prazan” tip
Dejan Živković Programiranje I 30
![Page 31: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/31.jpg)
Klasni (referencni) tipovi
• Korisnički definisani tipovi podataka su predstavljeni klasama
• Vrednosti klasnih tipova su reference (adrese) objekata odgovarajuće klase
• Slično pokazivačima
Dejan Živković Programiranje I 31
![Page 32: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/32.jpg)
Literali
• Vrednosti koje predstavljaju sami sebe
– Celobrojni literali– Realni literali– Logički literali– Znakovni literali– String literali
Dejan Živković Programiranje I 32
![Page 33: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/33.jpg)
Literali
• Celobrojni literali– Celi brojevi tipa int i long u dekadnom,
oktalnom i heksadekadnom zapisu– Dekadni ne počinju cifrom 0: 123– Oktalni počinje cifrom 0: 032– Heksadekadni počinje znacima 0x ili 0X:
0x1A, 0X1A– Celobrojni literal koji se završava slovom L ili l
je tipa long: 26L, 0L, 11100l
Dejan Živković Programiranje I 33
![Page 34: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/34.jpg)
Literali
• Realni literali– Realni brojevi tipa float ili double– Moraju sadržati decimalnu tačku ili eksponent– e (ili E) se koristi za eksponent– Realni brojevi koji se ne završavaju slovom ili
se završavaju slovom D ili d su tipa double: 2.75, 24.5344, 25e4, .8373e-9D
– Realni brojevi koji se završavaju slovom F ili f su tipa float: 2.75f, 24.5344f, 25e4f, .8373e-9f
Dejan Živković Programiranje I 34
![Page 35: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/35.jpg)
Literali
• Logički literali– Logičke vrednosti: true i false
• Znakovni literali– Znakovi ili specijalne sekvence (escape
sequences) između jednostrukih navodnika: 'A', 't', '?', '\n', '\u0142'
• String literali– Nizovi znakova između dvostrukih navodnika:
"Zdravo narode", "Unesite broj: ", "A"Dejan Živković Programiranje I 35
![Page 36: zima 2009/10](https://reader031.fdocument.pub/reader031/viewer/2022032205/56812bc9550346895d901cb6/html5/thumbnails/36.jpg)
Komentari
• Tri stila komentara u Javi
– C-stil: /* . . . */• primer: /* Ovo je objašnjenje */
– Jednolinijski komentar: //• primer: int i = 1; // brojač
– Dokumentacioni komentar: /** . . . */• za automatsko generisanje dokumentacije
Dejan Živković Programiranje I 36