30

Java - Osnovni Koncepti

Embed Size (px)

DESCRIPTION

prezentacija FON-a

Citation preview

Page 1: Java - Osnovni Koncepti
Page 2: Java - Osnovni Koncepti

Основни концепти у Јаvа језику

Радна недеља Тематска целина Циљ

1

1. Основни концепти у Јаvа језику Упознавање са основним концептима у Јаvа језику

Тематска јединица 1.1. Основни концепти у Јаvа језику

Подсећање студента на основне концепте у Java језику како би остатак курса могао да испрати неометано

Page 3: Java - Osnovni Koncepti

Основни концепти у Јаvа језику

Раднанедеља

Тематска јединица

ЦИЉ УЧЕЊА

1 1.1. Основни концепти у Јаvа језику

Подсећање студента на основне концепте у Java језику како би остатак курса могао да испрати неометано

НАСТАВНИ МЕТОД: ПРЕДАВАЊА

Page 4: Java - Osnovni Koncepti

Струткура предавања

• Типови података• Променљиве• Управљање током• Низови• Класе и објекти• Наслеђивање и полиморфизам• Интерфејси и апстрактне класе• Изузеци

Page 5: Java - Osnovni Koncepti

Тип податка

• Тип податка се дефинише као скуп вредности (објеката) и операција над њима

• Прости типови података у Java језику– boolean – char – byte, short, int, long– float, double

• Сложени типови – структуре података

Page 6: Java - Osnovni Koncepti

Променљиве

• Чувају конкретне вредности• Пренос преко вредности и преко адресе• Декларација:

int podatak;

• Додељивање вредностиpodatak = 27;int elem;elem = podatak;

Page 7: Java - Osnovni Koncepti

Управљање током

• If исказ:

if ( 〈 boolean_expr 〉 ) 〈 true_statement 〉

[else if ( 〈 boolean_expr 〉 ) 〈 else_if_statement 〉 ]

[else 〈 else_statement 〉 ]

if (ocena == 5)System.out.println(“Pao je :(!");

elseSystem.out.println(“Položio je :)");

Page 8: Java - Osnovni Koncepti

Управљање током

Switch исказ

switch (<promenljiva>){case <vrednost1>:

<blok koda 1>break;

case <vrednost2>:<blok koda 2>break;

default:<blok koda 3>break;

}

Page 9: Java - Osnovni Koncepti

Управљање током

• for петљаfor ([ 〈 inicijalizacija 〉 ];[ 〈 uslov 〉 ];[ 〈 increment 〉 ]) {

// telo petlje}

for (int i = 0; i < 5; i++){System.out.println(“Vrednost brojaca:“ + i);

}

• while петљаwhile ( 〈 uslov 〉 ){

// telo petlje}

Page 10: Java - Osnovni Koncepti

Управљање током

• Do-While петља

do {

// telo petlje}while ( 〈 uslov 〉 )

• Prekid iteracijebreakcontinue

Page 11: Java - Osnovni Koncepti

Низови

• Уређена колекција (струткура) променљивих истог типа сукцесивно повезаних у меморији

• Индексирање елемената: 0 , n-1

〈 tip_niza 〉 [] 〈 naziv 〉new 〈 tip_niza 〉 [ 〈 velicina 〉 ]; int[] a = new int[10];

new 〈 tip_niza 〉 []{ 〈 inic_vred1 〉 ,〈 inic_vred2 〉 , ..., 〈 inic_vred_N 〉 }]; int[] b = new int[]{4, 23, 743, -43, 16};

float[][] x = new float[8][10];

Page 12: Java - Osnovni Koncepti

Класе

• Класа је апстрактна структура која дефинише карактеристике и понашање неке ствари (објекта) – дефиниција

• Променљиве (одређују својства) и методе (дефинишу понашање)

[ 〈 modifikator_klase 〉 ] class 〈 ime_klase 〉 [extends 〈 ime_nadklase 〉 ] [implements 〈 interface_1 〉 , 〈 interface_2 〉 , ...]

{ // definicije metoda i promenljivih

}

Page 13: Java - Osnovni Koncepti

Класе

class Osoba {

// definicije promenljivih... // definicije metoda...

}

• Модификатори класа– abstract – final – public– bez modifikatora

Page 14: Java - Osnovni Koncepti

Класе

public class Osoba{

// promenljive protected String Ime;protected int Starost;private Osoba Majka;public double visina = 1.76; // direktna inicijalizacijapublic static final int MAX_VISINA = 2.45; // konstanta

// Definicije metoda...}

Page 15: Java - Osnovni Koncepti

Класе

• Декларисање методе:

[ 〈 modifikatori 〉 ] 〈 tip_pov_vred 〉〈 naziv 〉([ 〈 parametri 〉 ])

{ // telo metodе ...

}

• Потпис методе– Име методе– Број, тип и редослед параметара

Page 16: Java - Osnovni Koncepti

Класе

• Модификатори методе:– private– protected– public– bez modifikatora

• Додатни модификатори– abstract– final– static

Page 17: Java - Osnovni Koncepti

Објекти

• Објекат представља конкретно појављивање (инстанцу) неке класе

• Инстанцирање (прављење) објеката:

〈 naziv_klase 〉〈 naziv_objekta 〉 = new 〈 naziv_klase 〉([parametar, parametar, ...]);

Page 18: Java - Osnovni Koncepti

Објекти

• Конструктор - посебна метода за иницијализацију

[modifikatori] 〈 naziv_klase 〉 ([ 〈 parametri 〉 ]) {

// Telo konstruktora... (inicijalizacija promenljivih)}

public Osoba (String ime, int starost) {

Ime = ime; Starost = starost;

}

Osoba novaOsoba = new Osoba(“Pera”, 24);

Page 19: Java - Osnovni Koncepti

Наслеђивање

• Генерализација - специјализација

class Telo {potected String Naziv;public float Tezina;

public String staJeOvo(){return “Ово је тело”;

}}

class Automobil extends Telo {public int Brzina;

public String staJeOvo(){return “Ово је аутомобил”;

}}

Page 20: Java - Osnovni Koncepti

Наслеђивање

Telo t = new Telo();System.out.println(t.staJeOvo());

‘Ово је тело’

Automobil а = new Automobil();System.out.println(а.staJeOvo());

‘Ово је automobil’

а.Tezina = 1.4;

Page 21: Java - Osnovni Koncepti

Полиморфизам

• Поли-морфно = више облика

Telo t = new Telo();System.out.println(t.staJeOvo()); ‘Ово је тело’

Telo а = new Automobil();System.out.println(а.staJeOvo()); ‘Ово је automobil’

Automobil а = new Telo();a.Brzina ???

Page 22: Java - Osnovni Koncepti

Интерфејси

• Апстрактни типови података

• Само дефиниција (уговор)

• Јавне методе и променљиве

• Могу се користити за декларацију објеката, али не и за инстанцирање

Page 23: Java - Osnovni Koncepti

Интерфејси

// Interface za objekte koji mogu da se prodaju.public interface Sellable {

// opis objekta public String description();/* cena objekta */public int listPrice();// najniža prihvatljiva cenapublic int lowestPrice();

}

Page 24: Java - Osnovni Koncepti

Интерфејси

public class Camera implements Sellable { private String descript; // opis kamere private int price; // cena private float resolution; // rezolucija kamere (MP)

public Camera(String desc, int p, float mp) { descript = desc; price = p; resolution = mp; } public String description() { return descript; } public int listPrice() { return price; } public int lowestPrice() { return price/2; } public float mp() { return resolution; }}

Sellable c = new Camera();

Page 25: Java - Osnovni Koncepti

Апстрактне класе

• Између интерфејса и конкретне класе

• Апстрактне методе

• Није могуће инстанцирати објекат апстрактне класе

Page 26: Java - Osnovni Koncepti

Апстрактне класе

public abstract class Osoba { private String Ime;public abstract int brojGodina();

public String vratiIme(){return Ime;

}}

public class Student extends Osoba{// obavezna implementacija apstraktnih metoda

}

Page 27: Java - Osnovni Koncepti

Изузеци

• Неочекивани догађаји генерисани у току извршења програма

• Генерисање изузетка:

float del = 45/0; (DivideByZeroException)

if (index > size()) {

throw new Exception("No element at index " + index); }

Page 28: Java - Osnovni Koncepti

Изузеци

public void goShopping() throws ShoppingListTooSmallException, OutOfMoneyException {

// telo metode ... }

• Припрема корисника и Java компајлера на евентуалне изузетке

Page 29: Java - Osnovni Koncepti

Обрада изузетака

try 〈 blok_koda_1 〉

catch ( 〈 tip_izuzetka 〉 〈 promenljiva 〉 ) 〈 blok_koda_2 〉

[catch ( 〈 tip_izuzetka 〉 〈 promenljiva 〉 ) 〈 blok_koda_3 〉 ] ...

[finally 〈 blok_koda_N 〉 ]

Page 30: Java - Osnovni Koncepti