You are on page 1of 17

Objektno

orijentirano
programiranje
2. Uvod u programski jezik jAVA
Općenito
• nastao je iz programskog jezika Oak

• 1995. godine kada je u u internet preglednik Netscape Navigator


ugrađena podrška za Javu

• ideja napiši-jednom-pokreni-bilo-gdje

• Java definira apstraktni računski stroj kod kojeg je sve propisano i


opisano specifikacijom. (JVM)

• programer doista ne treba (i ne može) razmišljati o specifičnostima


platforme na kojoj će se izvoditi program koji je napisao
Što je sve Java?
• Termin Java danas se koristi u nekoliko različitih značenja:

o Java kao programski jezik


o Java kao platforma
o Javin virtualni stroj (JVM, engl. Java virtual machine)
o JRE, JDK (SDK)
o Java ekosustav
Proces stvaranja java programa
1. Programeri programe pišu zadavanjem izvornog koda u
programskom jeziku Java (tekstovne datoteke s ekstenzijom
.java).

2. Izvorni se kod potom prevodi u izvršni kod odnosno bajtkod


(datoteke s ekstenzijom .class).

3. Da bi se izvršni program mogao pokrenuti, potreban je Javin


virtualni stroj te skup biblioteka čije se postojanje garantira
svim Java programima.
Javin virtualni stroj
• apstraktni stogovni stroj čija je namjena izvođenja programa
pisanih u bajtkodu

• osiguravanje platformske neovisnosti programa

• format datoteke .class

• jezični procesori koji u letu prevode bajtkod u strojni kod


uporabom JIT prevodioca (engl. Just-In-Time Compilers)

• važnu zadaća: automatsko upravljanje memorijom


programa - garbage collector.
Tipovi podataka
• Java prepoznaje dvije vrste podataka:

o primitivne tipove
o reference

• Primitivni tipovi podataka su numeričke vrijednosti,


vrijednosti istinitosti te znakovi
Tip Opis
Predstavlja cijeli broj čiji je raspon ograničen na interval od -128 do +127
byte
(8-bitni)
Predstavlja cijeli broj čiji je raspon ograničen na interval od -32768 do
short
+32767 (16-bitni)
Predstavlja cijeli broj čiji je raspon ograničen na interval od
int
-2,147,483,648 do +2,147,483,647 (32-bitni)
long Predstavlja cijeli broj čiji je raspon ograničen na interval od
-9,223,372,036,854,775,808 do +9,223,372,036,854,775,807 (64-bitni)
Predstavlja decimalni broj skromne preciznosti. Konceptualno,
float
odgovara specifikaciji IEEE 754 za decimalne brojeva jednostruke
preciznosti (32-bitni - 4 okteta)
Predstavlja decimalni broj skromne preciznosti. Konceptualno,
double
odgovara specifikaciji IEEE 754 za decimalne brojeva dvostruke
preciznosti (64-bitni – 8 okteta)
Predstavlja tip podataka koji se koristi za prikaz istinitosti. Podatci
boolean
ovog tipa mogu poprimiti jednu od dviju vrijednosti: true te false
Predstavlja tip podataka koji se koristi za prikaz jednog znaka.
char
Konceptualno, to je cijeli 16-bitni broj bez predznaka
Omotači primitivnih tipova (engl. wrappers)
• za sve primitivne tipove definirani su i klase -omotači

• Tako postoje klase Byte, Short, Integer, Long, Float, Double te


Boolean

• Svaki klasa omotač korisnicima nudi funkcionalnost pretvorbe


primitivne vrijednosti u string, pretvorbe stringa u primitivnu
vrijednost te još niz drugih korisnih metoda
Operatori
• Aritmetički (+, -, *, /, %, ++, --)
• Relacijski i uvjetni (>, >=, <, <=, ==, !=, &&, ||, !, &, |, ^)
• Logički (&, |, ^, <<, >>, >>>)
• Operatori pridruživanja (+=, -=, *=, /=…)
• Ostali operatori
o new alocira memoriju za objekt ili polje
o [] deklarira polje
o ? ternarni operator, npr. x ? y : z
o . Upotrebljava se kod pristupa varijablama i metodama u klasi
o instanceof određuje je li objekt instanca neke klase x instanceof y
Komentari
• // - jednoredni komentari
• /* komentar */ - višeredni komentari

• Komentare u pravilu izbjegavati jer zagušuju kod

• Javadoc komentari su komentari čija je namjena omogućiti


automatsko generiranje dokumentacije iz izvornog koda,
počinju s /** i tipično sadrže posebne oznake koje započinju
znakom @

• Kratica u eclipse IDE - Alt+Shift+J


Varijable i njihov doseg (engl. scope)
• Deklarirana unutar klase – varijabla instance odnosno klase

• Deklarirana unutar metode – lokalna vraijabla


• Parametri – lokalna varijabla

• Lokalne varijable imaju doseg bloka, a varijable instance


ovisno o ključnoj riječi koju imaju ispred sebe (private, public,
protected)
Kontrola toka programa
• if – else
• switch case
• return

• while, do-while, for, break, continue


• try-catch blokovi – jako bitni za rad s iznimkama
• Sljedeće predavanje :
3. Klase i objekti

• Info: hrvoje.radovan@aspira.hr

You might also like