Predavanje br. index|1|2|3|4|5|6|7|8|9|10|11|12|13|14|HOME

Programski jezik "JAVA"

*) Predavanja su napravljena na osnovi Java Lecture Notes,bilješki za predavanja koja drži profesor Elliotte Rusty Harold na Brooklyn Polytechnic University u okviru jednosemestralnog kolegija Introduction to Java Programming. Predavanja također prate Sun-ov Java Tutorial koji za ovaj kolegij smatramo obaveznom literaturom. Na raspolaganju vam je i biblioteka klasa, Java2 Platform Std. Ed. v1.3.1.

·         Prvo predavanje – upoznavanje s Javom

Aplikacija Hello World – kompiliranje i izvršavanje programa – for-petlje – operatori za increment i decrement – naredbe za ispis – Fibonaccijevi brojevi – varijable i tipovi podataka – komentari –argumenti na komandnoj liniji – klase, atributi i metode – objekti – razlikovanje objekata iste klase – višestruko referenciranje objekta – statičke varijable – metode –prenošenje argumenta u metodu – vraćanje vrijednosti iz metoda – setter metode – getter metode – ista imena varijabli i metoda – konstruktori – skrivanje imena varijabli i ključna riječ this – polja

·         Drugo predavanje – proceduralna sintaksa

Primitivni tipovi podataka – operatori – razmak – literali – identifikatori – ključne riječi – separatori – zbrajanje cijelih brojeva – zbrajanje brojeva tipa double – množenje i dijeljenje – neočekivani kvocijenti – računanje ostatka, modulo – prioritet izvršavanja operatora – zagrade – miješanje tipova podataka – automatsko dodjeljivanje tipova podataka (casting) – pretvaranje stringova u brojeve – podaci tipa char – Unicode – naredbe za kontrolu toka – naredba if – ispitivanje jednakosti – klauzula else – klauzula else if – while petlja – for petlja – do while petlja – booleovski podaci – relacijski operatori – prioritet izvršavanja relacijskih operatora – ispitivanje jednakosti objekata – naredba break – naredba continue – labelirane petlje – naredba switch-case – kondicionalni operator (? :) – logički operatori – prioritet izvršavanja logičkih operatora – deklariranje polja – kreiranje polja – inicijaliziranje polja – metoda System.arraycopy() – deklariranje, alociranje i inicijaliziranje dvodimenzionalnih polja – višedimenzionalna i neuravnotežena polja

·        Treće predavanje – objekti i klase

Objektno orijentirano programiranje – primjer: klasa Car – kreiranje objekata uz pomoć operatora new – separator pristupa članovima . – uporaba objekata unutar različitih klasa – inicijaliziranje atributa – metode – pozivanje metoda – implicirani this – member varijable nasuprot lokalnim varijablama – prenošenje argumenata u metodu – prenošenje argumenata u metodu, primjer – setter metode – uporaba setter metoda, primjer – vraćanje vrijednosti iz metode – vraćanje nekoliko vrijednosti iz metoda – uporaba getter metoda, primjer – konstruktori – uporaba konstruktora – ograničenja – zaštita pristupa(access protection) – četiri razine zaštite pristupa – što treba biti public, a što private? – tri koristi od zaštite pristupa – primjer zaštite pristupa – promjena implementacije

·        Četvrto predavanje – još o klasama i objektima

Što je overloading?
– ključna riječ this u konstruktorima – nasljeđivanje – nadklasa (superclass), MotorVehicle – podklase (subclasses), Motorcycle i Car – podklase i polimorfizam – kaskadno nasljeđivanje – statičke varijable i metode – pozivanje statičkih metoda – ključna riječ final – prekrivanje metoda (overriding) – ispis objekata pomoću toString() metoda – ključna riječ abstract – sučelja (interfaces) – implementiranje sučelja – implementiranje sučelja Cloneable – metoda equals()  - metoda hashCode() iz java.lang.Object – unutarnje klase (inner classes) – iznimke (exceptions) – try-catch blok – što možemo učiniti s uhvaćenom iznimkom? – ključna riječ finally – razne vrste iznimaka – hvatanje višestrukih iznimaka – izbacivanje iznimke, ključna riječ throws – pisanje vlastitih klasa iznimaka – metode klase Exception – biblioteka klasa – dokumentiranje vlastitih programa – importiranje klasa i paketa – primjeri metoda iz klase java.lang.Math – klasa java.util.Random – klasa java.lang.String – pisanje vlastitih paketa – JAR arhive

·        Peto predavanje – apleti

HTML, jezik za oblikovanje web stranica - URL, jedinstvena adresa dokumenta – dijelovi URLa – linkovi – relativni URLovi – applet Hello World – što je applet? – HTML oznaka <applet> - odabir pozicije na stranici – alternativni tekst – imenovanje appleta – JAR arhive – HTML oznaka <object> - veličina appleta – HTML oznaka <param> - obrada nepoznatog broja parametara – sigurnost appleta – što applet može činiti? – s kim applet može komunicirati? – koliko CPU vremena applet dobija? – sigurnost i social engineering – sprečavnje hakerskih napada kroz applete – Životni ciklus appleta – metode init(), start(), stop() i destroy() – koordinatni sustav – objekti klase Graphics – crtanje linija – crtanje pravokutnika – punjenje pravokutnika – brisanje pravokutnika – elipse i kružnice – primjer, bullseye – poligoni – višestruke linije (polylines) – učitavanje slika – metode getCodeBase() i getDocumentBase() – prikaz slike u pravoj veličini – skaliranje slika – boje – sistemske boje – fontovi – odabir oblika i veličine fonta – klasa FontMetrics

·        Šesto predavanje - komponente

Što su komponente?
– labele – tri koraka u dodavanju komponente – gdje je metoda paint()? – metode klase Label – buttoni – akcije na buttonima – primjer appleta sa akcijom na buttonu – različiti obrasci za događaje – višestruki ActionListeneri – metode za buttone – Action naredbe – više buttona u istom appletu – unutarnje klase kao EventListeneri – tekstualna polja – primjer tekstualnih polja u Javi – TextArea – klasa TextComponent – sučelje TextListener i klasa TextEvent – klasa Canvas – klasa Choice – metode klase Choice – klasa ItemListener – klasa Checkbox – događaji iz klase Checkbox – klasa CheckboxGroup – primjer CheckboxGroup – klasa List – metode klase List – događaji klase List – klasa Scrollbar

·        Sedmo predavanje - događaji

Proceduralni programi – rep događaja (event queue) – događaji niske razine (low level events) – događaji visoke razine (high level events) – hijerarhija klasa događaja – obrada događaja – različiti EventListeneri – primjer uporabe MouseListenera – događaji vezani uz tipke (key events) – kodovi tipki – različite tipke i njihovi kodovi – modifikatori (modifier keys) – modifikatori uz tipke miša – događaji vezani uz fokus (focus events) – događaji vezani uz komponentu (component events) – adapteri – primjer uporabe adaptera – apsorbiranje događaja – prebacivanje događaja s niske na visoku razinu – rad s repom događaja

·        Osmo predavanje – razmještaj komponenti

Kontrola razmještaja komponenti – razne implementacije layout managera – razmještaj tipa FlowLayout – podešavanje poravnanja za FlowLayout – razdvajanje komponenti za FlowLayout – razmještaj tipa BorderLayout – razmještaj tipa CardLayout – uporaba CardLayout razmještaja – promjena karata – razmještaj tipa GridLayout – razmještaj tipa BridBagLayout – razmještaj tipa GridBagConstraints – mreža (grid) za applet Calculator – atributi gridx i gridy – atributi gridwidth i gridheight – atribut fill – atributi ipadx i ipady – klasa Insets – atribut anchor – atributi weightx i weighty – primjer za GridLayout – ručno pozicioniranje komponenti – Kontejneri – dvije vrste kontejnera – paneli – ugnježdeni paneli – prozori (windows) – okviri (frames) – događaji vezani uz prozore – primjer događaja na prozorima – kombiniranje appleta i aplikacija – dijalozi – metode za dijaloge – primjeri dijaloga – pisanje podklasa klase Dialog

·        Deveto predavanje – izbornici, slike i zvukovi

Što je izbornik?
– klase izbornika – kreiranje izbornika – primjer izbornika – događaji vezani uz izbornike – izborničke kratice – padajući izbornici (popup menus) – slike – kamo staviti slike? – učitavnje slika – crtanje slika – uporaba povratne vrijednosti metoda drawImage() – primjer crtanja slika – promjena veličine slike – ustanovljavanje veličine slike – paket java.awt.image – Sučelja ImageProducer, ImageObserver, ImageConsumer – sučelje ImageConsumer – čekanje na učitavanje slike – prekrivanje metode imageUpdate() – što je zapravo slika? – operator << - kreiranje slika – primjer kreiranja slika – metoda getRGB() – pretapanje boja – filtriranje slika – klasa RGBImageFilter – primjer plavog filtra – primjer filtra sivih tonova – filtri koji ovise o položaju – filtri koji ovise o adjungiranim pixelima – audio – kontinuirana izvedba

·        Deseto predavanje – ulaz i izlaz

Operacije ulaza i izlaza - što je stream?
– klase streamova – odakle streamovi dolaze? – klasa InputStream – čitanje byteova – čitanje više byteova odjednom – prebrojavanje dostupnih byteova – preskakanje byteova – markiranje i resetiranje – zatvaranje streamova – izlazni streamovi – primjer izlaznog streama – čitanje iz datoteke – primjer čitanja iz datoteke – pisanje u datoteku – primjer pisanja u datoteku – dodavanje na kraj datoteke – filtriranje streamova – filtrirani streamovi – bufferirani streamovi – klase podatkovnih streamova – klasa PrintStream – klasa PushBackInputStream – klasa File – konstruktori klase File – metode klase File – primjeri metoda iz klase File – klasa FileDialog – klasa RandomAccessFile – sučelje FilenameFilter – klase Reader i Writer – klasa Reader – klasa Writer – klasa InputStreamReader – klasa OutputStreamWriter – dostupne kodne stranice – klasa FileWriter – klasa FileReader – klasa BufferedReader – klasa LineNumberReader – klasa BufferedWriter

·        Jedanaesto predavanje - threadovi

Multitasking i multithreading – što je thread?
- kako Java koristi threadove? – klase threadova – jednostavni thread – višestruki threadovi – imenovanje threadova – prioriteti threadova – metoda sleep() – sinkronizacija: problem – sinkronizacija: nekoliko pokušaja rješenja - ključna riječ synchronized – sinkroziniranje na objektima – primarni thread – grupe threadova – threadovi demoni – ustupanje kontrole – spajanje threadova – sučelje Runnable – animacija – pravovremenost – titranje slike – pokretanje i zaustavljanje animacije – višestruke nezavisne animacije

·        Dvanaesto predavanje – mrežno programiranje

·        Trinaesto predavanje – ispis i prijenos podataka

·        Cetrnaesto predavanje – Swing

 


This site was designed by DRASKO BUDIN----- 02. 04. 2003

All Rights Reserved.