Professional Documents
Culture Documents
Predavanje Java PDF
Predavanje Java PDF
Predavanje Java PDF
ta je program
Kako napisati pravilno program za raunar
Prednosti i mane korienja Jave
Kako program napisan u Javi promeniti u formu koju
svaki raunar razume
Primer Java koda i komentari
SI1P1 2004
1/15
SI1P1 2004
SI1P1 2004
2/15
3/15
SI1P1 2004
4/15
Kompajliranje
SI1P1 2004
5/15
Kompajliranje
SI1P1 2004
6/15
Java kompajliranje
Java kompajler stvara bytecode, a ne mainski kod
Bytecode se konvertuje u mainski kod pomou Java
interpretera
Tako se moe pokrenuti bytecode na bilo kom raunaru koji
ima instaliran Java interpreter
SI1P1 2004
7/15
SI1P1 2004
8/15
Pokretanje programa
Pokretanje programa
SI1P1 2004
9/15
Izvravanje programa
SI1P1 2004
10/15
Primer
ta va program radi?
sabira dva broja
SI1P1 2004
11/15
SI1P1 2004
12/15
SI1P1 2004
13/15
SI1P1 2004
Primer
SI1P1 2004
15/15
SI1P1 2004
14/15
16/15
Komentari
Pregled lekcije
ta je program
Kako napisati pravilno program za raunar
Prednosti i mane korienja Jave
Kako program napisan u Javi promeniti u formu koju
svaki raunar razume
Primer Java koda i komentari
17/15
18/15
SI1P1 2004
Uvod
ta su promenljive
SI1P1 2004
19/15
Tipovi promenljivih
Imena promenljivih
Dodele vrednosti
SI1P1 2004
20/15
Promenljive
Promenljive
21/15
SI1P1 2004
Promenljive i Java
SI1P1 2004
Promenljiva x je broj.
Ako je x simbol koji predstavlja re Singidunum,
formula nema smisla.
SI1P1 2004
22/15
f(x)=x*2+2
23/15
Celobrojni tipovi:
int: veina brojeva se predstavlja pomou ovog
tipa
long: veliki brojevi, u oblasti istraivanja, finansija,
raunara.
short: mali brojevi, ne mnogo korisno.
byte: veoma mali brojevi
Floating Point (Decimalni) tipovi:
float: Single-precision decimalni brojevi
double: Double-precision decimalni brojevi
Ostali tipovi:
String: tekstualni tip.
boolean: tano ili netano (true ili false)
char: Alfanumeriki karakteri
SI1P1 2004
24/15
SI1P1 2004
25/15
SI1P1 2004
26/15
SI1P1 2004
27/15
SI1P1 2004
28/15
Celobrojni tip
1.$amount
2.6tally
3.my*Name
4.salary
5._score
6.first Name
7.total#
8.short
SI1P1 2004
29/15
String tip
SI1P1 2004
30/15
Racionalni tip
SI1P1 2004
31/15
SI1P1 2004
32/15
Logiki tip
Karakter
SI1P1 2004
33/15
Pitanja
Koje tipove podataka treba koristiti za sledee informacije?:
1. Broj stanovnika Srbije
2. Broj stanovnika na Zemlji
3. i
4. Status dokumenta (otvoren/zatvoren)
5. Ime
6. Prvo slovo imena
7. $ 237.66
int
long
double
boolean
String
char
SI1P1
2004
double
SI1P1 2004
34/15
Iskazi
35/15
SI1P1 2004
36/15
Rezervisane rei
SI1P1 2004
Tipovi podataka
37/15
38/15
SI1P1 2004
Tipovi podataka
SI1P1 2004
39/15
SI1P1 2004
40/15
10
Uvod
ta su operatori
ta su operatori
Aritmetiki operatori, kao to su +, Operator dodele vrednosti
Inkrement/Dekrement operatori, ++
Relacionalni operatori
Kondicionalni operatori
41/15
SI1P1 2004
Grupe operatora
SI1P1 2004
Aritmetiki operatori,
Operator dodele vrednosti
Inkrement/Dekrement operatori
Relacionalni operatori
Kondicionalni operatori
SI1P1 2004
42/15
Aritmetiki operatori
43/15
SI1P1 2004
44/15
11
SI1P1 2004
45/15
Primer: 10 + 15 / 5;
Rezultat se razlikuje u zavisnosti od toga da li se
prvo izvrava sabiranje ili deljenje
(10 + 15) / 5 = 5
10 + (15 / 5) = 13
Ako ne postoje zagrade Java e izvriti drugi sluaj
Trebalo bi koristiti uvek zagrade da bi se izbegla
konfuzija
SI1P1 2004
46/15
Celobrojno deljenje
SI1P1 2004
47/15
SI1P1 2004
48/15
12
Inkrement/dekrement
Inkrement/dekrement
SI1P1 2004
49/15
Inkrement/dekrement
SI1P1 2004
50/15
Relacionalni operatori
SI1P1 2004
51/15
SI1P1 2004
52/15
13
Kondicionalni operatori
int x= 3;
int y= 5;
boolean result;
1) result= (x> y);
U ovom sluaju vrednost promenljive result je false
zato to 3 nije vee od 5
2) result= (15 == x*y);
U ovom sluaju vrednost promenljive result je true
zato to proizvod 3 i 5 jeste jednak 15
3) result= (x != x*y);
U ovom sluaju vrednost promenljive result je true
zato to proizvod 3 i 5 jeste razliit od 3
SI1P1 2004
53/15
Tabela istinitosti
SI1P1 2004
54/15
Primer
boolean x= true;
boolean y= false;
boolean result;
1. result= (x&& y);
U ovom sluaju vrednost promenljive result je false
2. = ((x|| y) && x);
SI1P1 2004
55/15
(x|| y) je true
(true && x) je true
U ovom sluaju vrednost promenljive result je true
SI1P1 2004
56/15
14
Korienje && i ||
Korienje && i ||
SI1P1 2004
57/15
Primer
SI1P1 2004
58/15
Operatori
59/15
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/
opsummary.html
SI1P1 2004
60/15
15
Izrazi
Rezervisane rei
SI1P1 2004
61/15
Tipovi podataka
SI1P1 2004
SI1P1 2004
62/15
Tipovi podataka
63/15
SI1P1 2004
64/15
16
Uvod
SI1P1 2004
65/15
ta su kontrolne strukture
SI1P1 2004
66/15
if struktura
SI1P1 2004
ta su kontrolne strukture
Tipovi kontrolnih struktura:
Blok
Izrazi odluivanja
Petlje
67/15
SI1P1 2004
68/15
17
if struktura
if-else struktura
Osnovna if struktura se moe proiriti dodavanjem else
uslova, da bi se definisalo ta se deava ukoliko uslov nije
ispunjen
if (expression) {
statement1;
}
else{
statement2;
}
next_statement;
Ponovo izraz expression mora biti logikog tipa i njegova
vrednost mora biti true ili false
Ako je vrednost izraza expression true, izvravaju se izrazi
statement1, pa nakon njih next_statement.
Ako je vrednost izraza expression false, izvravaju se izrazi
SI1P1 2004
statement2, pa nakon njih next_statement.
SI1P1 2004
69/15
if-else struktura
70/15
Ugnjeeni if-else
SI1P1 2004
71/15
SI1P1 2004
72/15
18
switch struktura
switch struktura
SI1P1 2004
73/15
switch struktura
SI1P1 2004
74/15
switch struktura
SI1P1 2004
75/15
SI1P1 2004
76/15
19
switch struktura
Petlje
SI1P1 2004
77/15
SI1P1 2004
78/15
for petlja
for petlja
SI1P1 2004
79/15
SI1P1 2004
80/15
20
for petlja
for petlja
SI1P1 2004
81/15
while petlja
SI1P1 2004
82/15
while petlja
while (expression){
statement
}
SI1P1 2004
83/15
SI1P1 2004
84/15
21
while petlja
Indeks je 1
Indeks je 2
SI1P1 2004
85/15
SI1P1 2004
Pitanja 1
SI1P1 2004
86/15
87/15
SI1P1 2004
88/15
22
Pitanja 2
Pitanja 3
SI1P1 2004
89/15
Brojevi od 100 do 0.
SI1P1 2004
90/15
ta su nizovi
SI1P1 2004
91/15
SI1P1 2004
92/15
23
Nizovi
Deklarisanje nizova
SI1P1 2004
93/15
Rezervisanje prostora
int prices[];
SI1P1 2004
94/15
Indeksi
SI1P1 2004
int[] prices;
String[] people;
Na drugi nain deklarisanje je mogue:
tipPodataka imeNiza[];
95/15
SI1P1 2004
96/15
24
Korienje nizova
Inicijalizacija nizova
String[] people;
people = new String[4];
people[0] = Lana;
people[1] = Pera;
people[2] = Mika;
people[3] = Maja;
SI1P1 2004
97/15
Korieni pojmovi
SI1P1 2004
98/15
Pitanja
SI1P1 2004
99/15
SI1P1 2004
100/15
25
Duina niza
Primer
SI1P1 2004
101/15
Primer 2
Primer koda:
String[] names = {Lana,Pera, Mika, Maja};
for(int i=0; i<names.length; i++)
System.out.println(names[i]+!");
Rezultat:
Lana!
Pera!
Mika!
Maja!
SI1P1 2004
102/15
Primer 3
SI1P1 2004
103/15
SI1P1 2004
104/15
26
Primer sortiranja 1
Primer sortiranja 2
105/15
Dvodimenzionalni nizovi
Dvodimenzionalni nizovi
SI1P1 2004
106/15
107/15
SI1P1 2004
108/15
27
Viedimenzionalni nizovi
SI1P1 2004
109/15
Sadraj lekcije
110/15
Koncept metoda
ta je metod
Zato koristimo metode
Kako da deklariemo metode
etiri dela metoda
Kako pozvati metod
Svrha metoda main
Neki primeri metoda
SI1P1 2004
SI1P1 2004
111/15
SI1P1 2004
112/15
28
Koncept metoda
argumenata
SI1P1 2004
113/15
SI1P1 2004
114/15
Deklarisanje metoda
apstrakcija
SI1P1 2004
115/15
SI1P1 2004
116/15
29
Generisanje rezultata
SI1P1 2004
117/15
Generisanje rezultata
SI1P1 2004
118/15
void metod
119/15
SI1P1 2004
120/15
30
Argumenti metoda
Argumenti metoda
SI1P1 2004
121/15
Poziv metoda
SI1P1 2004
SI1P1 2004
122/15
main metod
123/15
SI1P1 2004
124/15
31
main metod
Primer
class SayHi{
public static void main(String[] args) {
System.out.println("Hi, " + args[0]);
}
}
Ako se otkuca java Program arg1 arg2 argN u
okviru komandne linije, sve nakon imena klase se
automatski uitava u niz pod imenom args:
java SayHi Bosko
U ovom primeru lan args[0] e sadravati String
Bosko", i izlaz proma e biti "Hi, Bosko"
SI1P1 2004
Primer
SI1P1 2004
126/15
Primer
class Greetings {
public static void main(String args[]) {
String greeting = "";
for (int i=0; i < args.length; i++) {
greeting += "Jambo " + args[i] + "! ";
}
System.out.println(greeting);
}
}
Nakon kompaliranja i pokretanja
java Greetings Lana Pera Maja
izlaz e biti "Jambo Lana! Jambo Pera! Jambo
Maja!"
SI1P1 2004
127/15
class Max {
public static void main(String args[]) {
if (args.length == 0) return;
int max = Integer.parseInt(args[0]);
for (int i=1; i < args.length; i++) {
if (Integer.parseInt(args[i]) > max) {
max = Integer.parseInt(args[i]);
}
}
System.out.println(max);
}
}
java Max 3 2 9 2 4 dobija se izlaz 9
SI1P1 2004
128/15
32
Najvaniji pojmovi
SI1P1 2004
129/15
SI1P1 2004
130/15
SI1P1 2004
131/15
SI1P1 2004
132/15
33
Apstrakcija
ta je objekat
SI1P1 2004
133/15
ta je objekat
SI1P1 2004
134/15
SI1P1 2004
135/15
SI1P1 2004
136/15
34
Klase
Klase
SI1P1 2004
137/15
SI1P1 2004
138/15
Klase
class prekidacZaSvetlo{
boolean upaljeno = true;
}
Re class govori okruenju da elimo da definiemo
novi tip Object-a.
Klase su definicije stanja i ponaanja.
Objekti su instance klasa.
Sve u okviru Jave je objekat i ima svoju klasu.
SI1P1 2004
139/15
SI1P1 2004
140/15
35
Definisanje ponaanja
class prekidacZaSvetlo{
boolean upaljeno = true;
}
Koje stanje prekidacZaSvetlo moe imati?
Stanje se pamti u okviru polja, ovde je to upaljeno
Poljima se prilazi na sledei nain:
imePromenljive.imePolja
Kasnije e biti rei o drugim vrstama polja
Koje ponaanje prekidacZaSvetlo moe imati?
SI1P1 2004
141/15
Korienje objekata
SI1P1 2004
142/15
Konstruktori
SI1P1 2004
class prekidacZaSvetlo{
boolean upaljeno = true;
void pritisni() {
this.upaljeno = !this.upaljeno ;
}
}
Re this se odnosi na pojedinani objekat
Pomou this.upaljeno se pristupa polju upaljeno.
Koje ponaanje prekidacZaSvetlo sada moe imati?
143/15
SI1P1 2004
144/15
36
Konstruktori
Konstruktori
class prekidacZaSvetlo {
boolean upaljeno ;
void pritisni() {
this.upaljeno = !this.upaljeno ;
}
prekidacZaSvetlo (boolean pocetnoStanje) {
this.upaljeno = pocetnoStanje;
}
}
Konstruktor prekidacZaSvetlo() vie ne postoji.
Kako se sada pravi instanca objekta?
prekidacZaSvetlo() {
prekidacZaSvetlo(true) ;
}
prekidacZaSvetlo (boolean pocetnoStanje) {
this.upaljeno = pocetnoStanje;
}
145/15
SI1P1 2004
prekidacZaSvetlo
SI1P1 2004
146/15
class prekidacZaSvetlo{
boolean upaljeno = true;
boolean daLiJeUpaljeno() {
return upaljeno;
}
void pritisni() {
upaljeno = !upaljeno;
}
}
SI1P1 2004
}
Moe se definisati vie konstruktora.
Konstruktori se mogu meusobno pozivati.
class prekidacZaSvetlo{
int upaljeno = 1;
boolean daLiJeUpaljeno() {
return upaljeno == 1;
}
void pritisni() {
upaljeno = 1 - upaljeno;
}
}
147/15
SI1P1 2004
148/15
37
Apstrakcija
Problem apstrakcije
SI1P1 2004
149/15
SI1P1 2004
SI1P1 2004
150/15
151/15
class prekidacZaSvetlo{
private boolean upaljeno = true;
public boolean daLiJeUpaljeno() {
return upaljeno;
}
void pritisni() {
upaljeno = !upaljeno;
}
}
SI1P1 2004
152/15
38
Novi problemi
Promenljive i objekti
if (ls.upaljeno) // greska
SI1P1 2004
153/15
Reference
154/15
SI1P1 2004
Reference
Lana
3
SI1P1 2004
155/15
SI1P1 2004
Lana
3
156/15
39
Reference
Pitanja
maja1
maja2
Da li je (a == b)?
int a = 7;
int b = 7;
Odgovor: Da
Da li je (g == h)?
Person g = new Person(Mwangi", 21);
Person h = new Person(Mwangi", 21);
Odgovor: Ne
Maja
34
SI1P1 2004
157/15
Pitanja
158/15
Primer BankAccount
SI1P1 2004
SI1P1 2004
159/15
class BankAccount{
double balance;
String name;
BankAccount(String name, doubleopenBalance){
this.name = name;
this.balance = openBalance;
}
double deposit(double amount) {
balance += amount;
return balance;
}
boolean withdraw(double amount) {
if (amount < balance){
balance -= amount;
return true;
} else return false;
}
SI1P1
} 2004
160/15
40
Java API
SI1P1 2004
161/15
SI1P1 2004
Primer
Analiza
SI1P1 2004
163/15
162/15
SI1P1 2004
164/15
41
Analiza
MyMath - ponovo
SI1P1 2004
165/15
static PI
final
SI1P1 2004
167/15
Promenljiva PI je deklarisana sa
public static double PI = 3.14159;
I na ovaj nain je mogue promeniti njenu
vrednost:
MyMath.PI= 999999999;
Da bi se definisala kao konstanta potrebno je
koristiti re final:
public static final double PI = 3.14159;
Kada se jednom promenljiva deklarie kao final,
njena vrednost se ne moe menjati!
SI1P1 2004
168/15
42
final
SI1P1 2004
169/15
static metod
170/15
static metod
SI1P1 2004
SI1P1 2004
171/15
SI1P1 2004
172/15
43
Math klasa
SI1P1 2004
173/15
SI1P1 2004
174/15
Pitanja
SI1P1 2004
175/15
SI1P1 2004
176/15
44
Pristup i organizacija
SI1P1 2004
177/15
U ovoj lekciji
SI1P1 2004
Oblast vaenja
SI1P1 2004
178/15
179/15
SI1P1 2004
180/15
45
Anonimne promenljive
0
void foo(int x) {
1
int y = 3;
2
if (y > 0) {
3
int z= 4;
4
if (z> 0) {
5
int w= 0;
6
{
7
int v = 1;
8
} // end block
9
} // end if (z>0)
10
} // end if (y>0)
11
} // end
Iz kojih linija koda se moe pristupiti
promenljivama v, w, x, y, i z?
SI1P1 2004
181/15
SI1P1 2004
182/15
183/15
class Scope{
int x = 3;
void foo(int y) {
System.out.println(x);
int x = 2;
System.out.println(x);
System.out.println(this.x);
System.out.println(y);
}
public static void main(String[] args) {
int x = 1;
(new Scope()).foo(x); // AnonymousObject
}
}
SI1P1
2004
ta je rezultat izvravanja programa?
184/15
46
Pitanje
int sigma(int n) {
for (int i = 0; i<n; i++) {
int sum += i;
}
return sum;
}
Metod sigma bi trebalo da generie rezultat koji je
jednak
Zato se javlja greka pri kompajliranju?
SI1P1 2004
185/15
Pitanje 2
186/15
Pitanje 3
class TestScope {
int x = 0;
int y = 0;
void foo() {
int y;
y = 20;
x = 10;
}
void print() {
System.out.println(x);
foo();
System.out.println(x);
System.out.println(y);
}
}
ta se sada dobija na izlazu kao rezultat izvravanja programa?
0
10
0
SI1P1 2004
class TestScope {
int x = 0;
void foo() {
int y = 20;
x = 10;
}// end foo
void print() {
int y = 0;
System.out.println(x);
foo();
System.out.println(x);
System.out.println(y);
}// end print()
}// end Class TestScope
ta se dobija na izlazu kao rezultat izvravanja programa?
0
10
SI1P1 2004
0
187/15
class TestScope {
int x = 0;
int y = 0;
void foo() {
y = 20;
x = 10;
}
void print() {
System.out.println(x);
foo();
System.out.println(x);
System.out.println(y);
}
}
188/15
47
Hijerarhijska organizacija
SI1P1 2004
189/15
SI1P1 2004
Definicija paketa
Paketi
SI1P1 2004
191/15
190/15
SI1P1 2004
192/15
48
Korienje paketa
Specifikatori pristupa
SI1P1 2004
193/15
SI1P1 2004
194/15
Primer
package examples;
class Person {
String name;
//Telo klase ce se dopuniti:
// Dodavanjem polja za rodjendan
// Dodavanjem metoda za definisanje rodjendana
// Dodavanjem metoda za citanje rodjendana
}
SI1P1 2004
195/15
SI1P1 2004
196/15
49
Primer
Primer
package examples;
class Person {
String name;
java.util.Date birthDay;
void setBirthday(java.util.Date d) {
this.birthDay = d;
}
java.util.Date getBirthday() {
return this.birthDay;
}
}
SI1P1 2004
package examples;
import java.util.Date;
class Person {
String name;
Date birthDay;
void setBirthday(Date d) {
this.birthDay = d;
}
Date getBirthday() {
return this.birthDay;
}
}
197/15
Primer
198/15
Primer
package examples;
import java.util.*;
class Person {
String name;
ArrayList friends;
Date birthDay;
void setBirthday(Date d) {
this.birthDay = d;
}
Date getBirthday() {
return this.birthDay;
}
}
package examples;
import java.util.Date;
import java.util.ArrayList;
class Person {
String name;
ArrayList friends;
Date birthDay;
void setBirthday(Date d) {
this.birthDay = d;
}
Date getBirthday() {
return this.birthDay;
}
}
SI1P1 2004
SI1P1 2004
199/15
SI1P1 2004
200/15
50
Pojam nasleivanja
SI1P1 2004
201/15
SI1P1 2004
Klasa Masai
Klasa Kikuyu
SI1P1 2004
203/15
SI1P1 2004
202/15
204/15
51
Primer
SI1P1 2004
205/15
SI1P1 2004
Kenyan superklasa
Masai podklasa
SI1P1 2004
207/15
SI1P1 2004
206/15
208/15
52
Kikuyu podklasa
Pitanje
ta se dobija na izlazu?
Masaid = new Masai(Johnson" 23);
Kikuyu c = new Kikuyu(Sheila", 2200);
System.out.println(d.getName() + " has " +
d.getCows() + " cows");
System.out.println(c.getName() + " has " +
c.getMoney() + " shillings");
Johnson has 23 cows
Sheila has 2200 shillings
super(n); // poziv
money = m;
Kenyan konstruktor
}
public int getMoney() {
return money;
}
public void speak() {
System.out.println(Kikuyu");
}
}
SI1P1 2004
209/15
SI1P1 2004
210/15
Pravila nasleivanja
Konstruktor podklase
SI1P1 2004
211/15
SI1P1 2004
212/15
53
Pitanje
Primer
Ako je data klasa Food:
public class Food {
private boolean raw;
public Food() {
raw = true;
}
}
I podklasa Beef:
public class Beef extends Food
{
private double weight;
public Beef(double w ) {
weight = w
}
} 2004
SI1P1
public class A {
public A() { System.out.println("I'm A"); }
}
public class B extends A {
public B() { System.out.println("I'mB"); }
}
public class C extends B {
public C() { System.out.println("I'mC"); }
}
ta e se pojaviti na ekranu nakon sledee naredbe?
C x = new C();
Je ekvivalentno sa:
public class Beef extends Food
{
private double weight;
public Beef(double w) {
super();
weight = w
}
}
I'm A
I'm B
I'm C
213/15
Preklapanje metoda
SI1P1 2004
214/15
215/15
SI1P1 2004
216/15
54
SI1P1 2004
Konverzija tipova
217/15
Primer
218/15
Primer
SI1P1 2004
SI1P1 2004
219/15
SI1P1 2004
220/15
55
Primer
Primer
class Employee {
// Data
private String firstName, lastName;
// Constructor
public Employee(String fName, String lName)
{firstName= fName; lastName= lName;}
// Method
public void printData()
{System.out.println(firstName+ " " + lastName);}
}
SI1P1 2004
221/15
SI1P1 2004
222/15
Primer
Primer
SI1P1 2004
223/15
SI1P1 2004
224/15
56
Primer
Primer
225/15
SI1P1 2004
Primer
Klasa Object
SI1P1 2004
227/15
226/15
SI1P1 2004
228/15
57
U ovoj lekciji
ta predstavlja izuzetak
Uobiajena terminologija
Zato koristiti izuzetke
Kako se deava izuzetak
Kako se obrauje izuzetak
O izuzecima koji se moraju obraditi i o
onima koji se ne moraju
Primeri Java izuzetaka
Kako napisati svoj sopstveni izuzetak
SI1P1 2004
229/15
ta predstavlja izuzetak?
230/15
Terminologija
SI1P1 2004
SI1P1 2004
231/15
SI1P1 2004
232/15
58
233/15
SI1P1 2004
SI1P1 2004
234/15
Primeri
SI1P1 2004
235/15
SI1P1 2004
236/15
59
Generisanje izuzetaka
Obrada izuzetaka
SI1P1 2004
237/15
SI1P1 2004
finally blok
SI1P1 2004
238/15
try{
// kod u okviru koga moe da se desi izuzetak
}
catch([Type of Exception] e) {
// ta da se izvri ako se desio izuzetak
}
finally{
// naredbe u okviru bloka e se uvek izvriti
// bez obzira ta e se dogoditi u okviru bloka
}
239/15
SI1P1 2004
240/15
60
SI1P1 2004
241/15
SI1P1 2004
242/15
Hijerarhija klasa
243/15
SI1P1 2004
244/15
61
Nasleivanje i izuzeci
SI1P1 2004
245/15
SI1P1 2004
SI1P1 2004
247/15
246/15
SI1P1 2004
248/15
62
Sadraj lekcije
SI1P1 2004
249/15
U ovoj lekciji
250/15
SI1P1 2004
Osnove ulaz/izlaz
SI1P1 2004
251/15
SI1P1 2004
Reader
Writer
InputStream
OutputStream
252/15
63
SI1P1 2004
253/15
Byte i Character
SI1P1 2004
254/15
SI1P1 2004
255/15
FileInputStream
SI1P1 2004
256/15
64
SI1P1 2004
257/15
SI1P1 2004
258/15
SI1P1 2004
259/15
SI1P1 2004
260/15
65
BufferedReader klasa
SI1P1 2004
261/15
262/15
Klasa Writer
SI1P1 2004
SI1P1 2004
263/15
SI1P1 2004
264/15
66
Kopiranje fajlova
SI1P1 2004
265/15
SI1P1 2004
266/15
Zakljuak
SI1P1 2004
267/15
SI1P1 2004
268/15
67
Parsiranje
Delimiteri
SI1P1 2004
269/15
StringTokenizer
SI1P1 2004
270/15
StringTokenizer
SI1P1 2004
271/15
SI1P1 2004
272/15
68
StringTokenizer
StringTokenizer
SI1P1 2004
273/15
SI1P1 2004
274/15
Parsiranje brojeva
SI1P1 2004
275/15
69