1 / 30

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

Основни концепти у Јаvа језику. Основни концепти у Јаvа језику. НАСТАВНИ МЕТОД: ПРЕДАВАЊА. Струткура предавања. Типови података Променљиве Управљање током Низови Класе и објекти Наслеђивање и полиморфизам Интерфејси и апстрактне класе Изузеци. Тип податка.

lottie
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Основни концепти у Јаvа језику НАСТАВНИ МЕТОД: ПРЕДАВАЊА

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

  4. Тип податка • Тип податка се дефинише као скуп вредности (објеката) и операција над њима • Прости типови података у Java језику • boolean • char • byte, short, int, long • float, double • Сложени типови – структуре података

  5. Променљиве • Чувају конкретне вредности • Пренос преко вредности и преко адресе • Декларација: int podatak; • Додељивање вредности podatak = 27; intelem; elem = podatak;

  6. Управљање током • If исказ: if(〈boolean_expr〉) 〈true_statement〉 [elseif (〈boolean_expr〉) 〈else_if_statement〉] [else 〈else_statement〉] if (ocena == 5) System.out.println(“Pao je :(!"); else System.out.println(“Položio je :)");

  7. Управљање током Switch исказ switch(<promenljiva>){ case<vrednost1>: <blok koda 1> break; case<vrednost2>: <blok koda 2> break; default: <blok koda 3> break; }

  8. Управљање током • for петља for ([〈inicijalizacija〉];[〈uslov〉];[〈increment〉]) { // telo petlje } for (inti = 0; i < 5; i++){ System.out.println(“Vrednost brojaca:“ + i); } • while петља while (〈uslov〉) { // telo petlje }

  9. Управљање током • Do-Whileпетља do { // telo petlje } while (〈uslov〉) • Prekiditeracije break continue

  10. Низови • Уређена колекција(струткура) променљивих истог типа сукцесивно повезаних у меморији • Индексирање елемената: 0 , n-1 〈tip_niza〉[] 〈naziv〉 new 〈 tip_niza 〉[〈velicina〉]; int[] a = newint[10]; new 〈 tip_niza 〉[]{ 〈inic_vred1〉,〈inic_vred2〉,...,〈inic_vred_N〉}]; int[] b = newint[]{4, 23, 743, -43, 16}; float[][] x = new float[8][10];

  11. Класе • Класа је апстрактна структура која дефинише карактеристике и понашање неке ствари (објекта) – дефиниција • Променљиве (одређују својства) и методе (дефинишу понашање) [〈modifikator_klase〉] class 〈ime_klase〉 [extends 〈ime_nadklase〉] [implements 〈interface_1〉, 〈interface_2〉, ...] { // definicije metoda i promenljivih }

  12. Класе classOsoba { // definicije promenljivih... // definicije metoda... } • Модификатори класа • abstract • final • public • bez modifikatora

  13. Класе publicclassOsoba { // promenljive protected String Ime; protectedintStarost; privateOsobaMajka; publicdoublevisina = 1.76; // direktna inicijalizacija publicstaticfinalint MAX_VISINA = 2.45; // konstanta // Definicije metoda... }

  14. Класе • Декларисање методе: [〈modifikatori〉]〈tip_pov_vred〉〈naziv〉([〈parametri〉]) { // telo metodе... } • Потпис методе • Име методе • Број, тип и редослед параметара

  15. Класе • Модификатори методе: • private • protected • public • bezmodifikatora • Додатни модификатори • abstract • final • static

  16. Објекти • Објекат представља конкретно појављивање (инстанцу) неке класе • Инстанцирање (прављење) објеката: 〈naziv_klase〉〈naziv_objekta〉 = new 〈naziv_klase〉([parametar, parametar, ...]);

  17. Објекти • Конструктор - посебна метода за иницијализацију [modifikatori] 〈naziv_klase〉 ([〈parametri〉]) { // Telo konstruktora... (inicijalizacijapromenljivih) } publicOsoba (String ime, int starost) { Ime = ime; Starost = starost; } Osoba novaOsoba = new Osoba(“Pera”, 24);

  18. Наслеђивање • Генерализација - специјализација classTelo { potected String Naziv; publicfloat Tezina; public String staJeOvo(){ return“Ово је тело”; } } class Automobil extends Telo { publicint Brzina; public String staJeOvo(){ return “Ово је аутомобил”; } }

  19. Наслеђивање Telo t = new Telo(); System.out.println(t.staJeOvo()); ‘Ово је тело’ Automobil а = new Automobil(); System.out.println(а.staJeOvo()); ‘Ово је automobil’ а.Tezina = 1.4;

  20. Полиморфизам • Поли-морфно = више облика Telo t = new Telo(); System.out.println(t.staJeOvo()); ‘Ово је тело’ Telo а= new Automobil(); System.out.println(а.staJeOvo()); ‘Ово је automobil’ Automobil а = new Telo(); a.Brzina ???

  21. Интерфејси • Апстрактни типови података • Само дефиниција (уговор) • Јавне методе и променљиве • Могу се користити за декларацију објеката, али не и за инстанцирање

  22. Интерфејси // Interface za objekte koji mogu da se prodaju. publicinterface Sellable { //opis objekta public String description(); /* cena objekta */ publicint listPrice(); //najniža prihvatljiva cena publicint lowestPrice(); }

  23. Интерфејси publicclassCameraimplements Sellable { private String descript; // opis kamere privateint price; // cena privatefloatresolution; // rezolucija kamere (MP) public Camera(String desc, int p, floatmp) { descript = desc; price = p; resolution= mp; } public String description() { return descript; } publicintlistPrice() { return price; } publicintlowestPrice() { return price/2; } publicfloatmp() { returnresolution; } } Sellable c = new Camera();

  24. Апстрактне класе • Између интерфејса и конкретне класе • Апстрактне методе • Није могуће инстанцирати објекат апстрактне класе

  25. Апстрактне класе publicabstractclass Osoba { privateString Ime; publicabstractint brojGodina(); publicString vratiIme(){ returnIme; } } publicclass Student extends Osoba{ // obaveznaimplementacijaapstraktnih metoda }

  26. Изузеци • Неочекивани догађаји генерисани у току извршења програма • Генерисањеизузетка: float del = 45/0; (DivideByZeroException) if (index > size()) { thrownew Exception("No element at index " + index); }

  27. Изузеци publicvoidgoShopping() throwsShoppingListTooSmallException, OutOfMoneyException { // telo metode ... } • Припрема корисника и Java компајлера на евентуалне изузетке

  28. Обрада изузетака try 〈 blok_koda_1 〉 catch(〈 tip_izuzetka 〉 〈 promenljiva 〉) 〈 blok_koda_2〉 [catch (〈 tip_izuzetka 〉 〈 promenljiva 〉) 〈 blok_koda_3〉] ... [finally 〈 blok_koda_N 〉]

More Related