29
1 Osnovno o Javi Osnovno o Javi Saida Deljac Saida Deljac nastavnica ra nastavnica ra č č unalstva unalstva Ž Ž eljezni eljezni č č ka tehni ka tehni č č ka ka š š kola Zagreb kola Zagreb

Osnovno o JAVI

Embed Size (px)

DESCRIPTION

Osnovno sta treba znati o JAVI

Citation preview

Page 1: Osnovno o JAVI

1

Osnovno o JaviOsnovno o Javi

Saida DeljacSaida Deljacnastavnica ranastavnica raččunalstvaunalstva

ŽŽeljeznieljezniččka tehnika tehniččka ka šškola Zagrebkola Zagreb

Page 2: Osnovno o JAVI

2

O O ččemu emu ćće biti rijee biti riječč

1.1. ŠŠto je Java?to je Java?2.2. Kako instalirati Javu?Kako instalirati Javu?3.3. Kako napisati i pokrenuti program u Javi?Kako napisati i pokrenuti program u Javi?4.4. ŠŠto je objektno programiranje?to je objektno programiranje?5.5. Izrada i izvođenje jednostavnih primjera Izrada i izvođenje jednostavnih primjera

uporabom naredbi za upis, ispis,uporabom naredbi za upis, ispis, ispitivanje uvjeta i izvođenja petljiispitivanje uvjeta i izvođenja petlji

Page 3: Osnovno o JAVI

3

O Java tehnologijiO Java tehnologiji

1.1. PlatformaPlatforma ––sklopovsko ili programsko okrusklopovsko ili programsko okružženje u enje u kojem se program izvrkojem se program izvrššava ava tjtj. kombinacija operativnog . kombinacija operativnog sustava i sklopovljasustava i sklopovlja

nprnpr: Windows, : Windows, LinuxLinux, , SolarisSolaris i MaxOSi MaxOS

Java platformu čine:

• Java virtualni stroj (Java VM)

• Java Aplikacijsko programsko sučelje (Java API), grafička sučelja, biblioteke klasa

IzvoriIzvoriššte: te: http://java.http://java.sunsun..comcom//docsdocs//booksbooks//tutorialtutorial//

Page 4: Osnovno o JAVI

4

O Java tehnologijiO Java tehnologiji

2.2. Programski jezikProgramski jezik•• Objektno orijentiranObjektno orijentiran•• Neovisan o arhitekturi Neovisan o arhitekturi •• PrenosivPrenosiv•• ŠŠirokih moguirokih moguććnosti (funkcionalnost)nosti (funkcionalnost)•• …………

Prikaz procesa kompajliranja i interpretiranja Java programskog koda

IzvoriIzvoriššte: : te: : http://java.http://java.sunsun..comcom//docsdocs//booksbooks//tutorialtutorial//

Page 5: Osnovno o JAVI

5

Gdje se koristi Java?Gdje se koristi Java?

A.A. U izradi razliU izradi različčitih aplikacija:itih aplikacija:

-- apletaapleta-- mremrežžnih aplikacijanih aplikacija-- baze podatakabaze podataka-- RoboticiRobotici

B.B. Kao platforma za rad aplikacijamaKao platforma za rad aplikacijama

-- U izgradnji IT u razliU izgradnji IT u različčitim podruitim područčjima (knjijima (knjižžniniččarstva, arstva, bankarstavabankarstava…….) .)

Page 6: Osnovno o JAVI

6

Instalacija JaveInstalacija Jave

•• Java SE Java SE DevelopmentDevelopment Kit 6 (JDK 6) Kit 6 (JDK 6) ((downloaddownload Windows verzijaWindows verzija) )

•• TextText editoreditor ((JEDPlusJEDPlus 2.0, BlueJ ili obi2.0, BlueJ ili običčan an NotepadNotepad). ).

Page 7: Osnovno o JAVI

7

Koraci pisanja i izvođenja programaKoraci pisanja i izvođenja programa

1.1. Pisanje koda Pisanje koda programa programa –– u u NotePaduNotePadu ili ili tekst editoru)tekst editoru)

IzvoriIzvoriššte: : te: : http://java.http://java.sunsun..comcom//docsdocs//booksbooks//tutorialtutorial//

Page 8: Osnovno o JAVI

8

KompajliranjeKompajliranje programaprograma

2.2. KompajliranjeKompajliranje programa (programa (nastajanje nastajanje HelloWorldAppHelloWorldApp..classclassprograma)programa)

StartStart -->>CommandCommand PromptPrompt (Windows XP)(Windows XP)javacjavac HelloWorldAppHelloWorldApp.java .java

IzvoriIzvoriššte: : te: : http://java.http://java.sunsun..comcom//docsdocs//booksbooks//tutorialtutorial//

Page 9: Osnovno o JAVI

9

Izvođenje programaIzvođenje programa

3.3. Izvođenje programaIzvođenje programaJava Java HelloWorldAppHelloWorldApp

IzvoriIzvoriššte: : te: : http://java.http://java.sunsun..comcom//docsdocs//booksbooks//tutorialtutorial//

Page 10: Osnovno o JAVI

10

PROGRAMIRANJE U JAVI PROGRAMIRANJE U JAVI

Koncept programiranja u kojem se koriste Koncept programiranja u kojem se koriste OBJEKTI I KLASEOBJEKTI I KLASE

Objektno orijentiran programski jezikObjektno orijentiran programski jezik

Page 11: Osnovno o JAVI

11

Klase i objektiKlase i objekti

•• KlasaKlasa je programska implementacija neje programska implementacija neččega (ega (nprnpr: : automobila, robota, biciklaautomobila, robota, bicikla…….).)

Klasa je nacrt ili prototip(npr: za robota vatrogasca) koji definira varijable ili metode zajedničke svim objektima određenog tipa

•• Objekti Objekti su sastavni dijelovi klasa: su sastavni dijelovi klasa: --objekti imaju objekti imaju stanjestanje tjtj. znanje (brzinu kretanja, brzinu . znanje (brzinu kretanja, brzinu vrtnje kotavrtnje kotačča, broj brzina a, broj brzina slsl.) i .) i ponaponaššanjeanje tjtj.mogu.moguććnost nost (ko(koččenje, usporavanje, promjenu brzine, gaenje, usporavanje, promjenu brzine, gaššenje vatre i enje vatre i slsl.) .) --to skup varijabli (to skup varijabli (maxmax. brzina, broj okretaja kota. brzina, broj okretaja kotaččaa……) i ) i pridrupridružženih metoda (metode za koenih metoda (metode za koččenje, metode za enje, metode za promjenu brzine, metode za gapromjenu brzine, metode za gaššenje vatre i enje vatre i slsl.).)

Page 12: Osnovno o JAVI

12

Klase Klase –– primjer Robotaprimjer Robota

RobotBotRobotBot i i RobotBotPlusRobotBotPlus su klase koje su klase koje predstavljaju predstavljaju kontrolerkontroler robota. Svaka se klasa robota. Svaka se klasa opisuje vlastitim Java kodom koji se pohranjuje opisuje vlastitim Java kodom koji se pohranjuje u datoteke u datoteke RobotBotRobotBot.java.java i i RobotBotPlusRobotBotPlus.java.java

IzvoriIzvoriššte: te: http://www.http://www.ridgesoftridgesoft..comcom//

Page 13: Osnovno o JAVI

13

Objekti Objekti -- primjerprimjer

Primjer Primjer klaseklase RobotBotRobotBot koristi dva koristi dva objekta objekta naziva naziva MotorMotor, za svaki kota, za svaki kotačč po jednu, koji slupo jednu, koji služže za e za kontrolu robota. kontrolu robota.

ObjektObjekt Motor Motor ima ima metodemetode: : forwardforward(), (), backwardbackward(), (), stopstop(), i (), i gogo() te lokalne varijable () te lokalne varijable mLeftMotormLeftMotor i i mRightMotormRightMotor

Page 14: Osnovno o JAVI

14

Struktura programaStruktura programaclass class PozdravPozdrav {{

public static void public static void main(Stringmain(String[] [] argsargs)) {{

System.out.printlnSystem.out.println((““PozdravPozdrav!");!");

}}}}

Klasa imena Pozdrav

Ispis teksta”Pozdrav” na standardni izlaz

Poziv glavne metode main() s argumentom tipa String

Metoda main()

- public – označava da metoda main može biti pozvana od strane bilo kojeg objekta

- static – označava da je metoda main metoda klase

- void- označava da main metoda ne vraća nikakvu vrijednost

Page 15: Osnovno o JAVI

15

Osnovne naredbe u Javi Osnovne naredbe u Javi -- ispisispis

publicpublic classclass zbrajanjezbrajanje{{publicpublic staticstatic voidvoid mainmain((StringString[] [] argsargs) {) {int i = 3;int i = 3;int j = 4;int j = 4;int z;int z;z=i+j;z=i+j;SystemSystem..outout..printlnprintln("Zbrajanje...i=3 i j=4");("Zbrajanje...i=3 i j=4");SystemSystem..outout..printlnprintln(" i + j = " + z);(" i + j = " + z);}}

}}

PRIMJER: Zbrajanje dva cijela broja s zadanim vrijednostima unutar programa

Page 16: Osnovno o JAVI

16

Unos vrijednosti u programUnos vrijednosti u program

import import java.util.Scannerjava.util.Scanner;;public class public class zbroj_JEDPluszbroj_JEDPlus {{public static void public static void main(Stringmain(String[] [] argsargs) {) {

Scanner scan = new Scanner scan = new Scanner(System.inScanner(System.in););intint a = a = scan.nextIntscan.nextInt();();intint b = b = scan.nextIntscan.nextInt();();System.out.println(a+bSystem.out.println(a+b););

}}}}

PRIMJER: Zbrajanje dva cijela broja s ulaznim vrijednostima zadanim izvan programa.

Page 17: Osnovno o JAVI

17

VarijableVarijable

Promjenjive veliPromjenjive veliččine u programu koje mogu biti:ine u programu koje mogu biti:-- cijeli brojevicijeli brojevi-- realni brojevirealni brojevi-- drugi osnovni tipovidrugi osnovni tipovi

•• ZnakovniZnakovni•• LogiLogiččkiki

Varijable imaju svoje ime, vrijednost i doseg.Varijable imaju svoje ime, vrijednost i doseg.

Page 18: Osnovno o JAVI

18

Tipovi podatakaTipovi podataka

Java razlikuje dvije kategorije tipova podataka:Java razlikuje dvije kategorije tipova podataka:1.1. osnovne tipove (osnovne tipove (primitivesprimitives) (cijeli brojevi, ) (cijeli brojevi,

decimalni, znakovi i logidecimalni, znakovi i logiččki tipovi)ki tipovi)2.2. reference (reference (referencereference) (u drugim jezicima ) (u drugim jezicima

zove pokazivazove pokazivačč ((pointerpointer) ili memorijska ) ili memorijska adresa) adresa)

Page 19: Osnovno o JAVI

19

Tipovi podatakaTipovi podataka

Ključna riječ Opis Veličina/Format

cijeli brojevi

byte Cijeli broj duljine bajta 8-bita/komplement broja dva

short Kratki cijeli broj 16-bita/komplement broja dva

int Cijeli broj 32-bita/komplement broja dva

long Dugi cijeli broj 64-bita/komplement broja dva

realni brojevi

float Realni broj jednostruke preciznosti 32-bita/IEEE 754

double Realni broj dvostruke preciznosti 64-bita/IEEE 754

drugi tipovi

char Jedan znak (karakter) 16-bita/Unicode karakter

boolean Logička vrijednost true ili false

Page 20: Osnovno o JAVI

20

IzraziIzrazi

Izraz je niz varijabli, operatora i poziva Izraz je niz varijabli, operatora i poziva metoda koji rezultira jedinstvenom metoda koji rezultira jedinstvenom vrijednovrijednoššćću.u.

Primjeri:Primjeri:i+j;i+j;x + y / 100;x + y / 100;x + (y / 100) ;x + (y / 100) ;

Page 21: Osnovno o JAVI

21

Uvjetna naredba (IF i IFUvjetna naredba (IF i IF--ELSE)ELSE)

ifif (uvjet) {(uvjet) {naredba;naredba;

}}

ifif (uvjet) {(uvjet) {naredba1;}naredba1;}

elseelse{{naredba2;naredba2;}}

Page 22: Osnovno o JAVI

22

Primjer:Primjer:import import java.util.Scannerjava.util.Scanner;;public class public class if_naredbaif_naredba {{public static void public static void main(Stringmain(String[] [] argsargs) {) {

Scanner scan = new Scanner scan = new Scanner(System.inScanner(System.in););intint x = x = scan.nextIntscan.nextInt(); ();

if (x>if (x>==0){0){System.out.println("SljedbenikSystem.out.println("Sljedbenik jeje");");System.out.printlnSystem.out.println( x+1);( x+1);}}

else {else {System.out.println("PrethodnikSystem.out.println("Prethodnik jeje");");System.out.println(xSystem.out.println(x--1);1);

}}}}

}}

PRIMJER: Ispis PRIMJER: Ispis sljedbenika ako je sljedbenika ako je broj pozitivan ili broj pozitivan ili jednak nuli i jednak nuli i prethodnika ako je prethodnika ako je broj negativan.broj negativan.

Page 23: Osnovno o JAVI

23

PetljePetlje

U Javi postoje:U Javi postoje:-- forfor petljapetlja-- whilewhile petljapetlja-- dodo-- whilewhile petljapetlja

Svima je zajedniSvima je zajedniččko ponavljanje naredbi ko ponavljanje naredbi zadani broj putazadani broj puta

Page 24: Osnovno o JAVI

24

ForFor petljapetlja

public class public class forfor_petlja_petlja{{public static void public static void main(Stringmain(String[] [] argsargs) {) {

for (for (intint ii=1; =1; ii<=10; <=10; ii++)++) {{System.out.printlnSystem.out.println((i)i); ; } }

}}}}

PRIMJER: Ispis brojeva od 1 do 10.PRIMJER: Ispis brojeva od 1 do 10.

Page 25: Osnovno o JAVI

25

whilewhile i doi do--whilewhile petljapetlja

whilewhile (uvjetni izraz) (uvjetni izraz) {{naredbe;naredbe;

} }

dodo {{naredbe;naredbe;

} } whilewhile(uvjetni(uvjetni izraz);izraz);

//ponavljanje bloka iskaza sve dok je neki uvjetni //ponavljanje bloka iskaza sve dok je neki uvjetni izraz istinitizraz istinit

Page 26: Osnovno o JAVI

26

Primjer Primjer whilewhile petljepetlje

class class PrimjerwhilePrimjerwhile { { public static void public static void main(Stringmain(String[] [] argsargs){ ){

intint brojacbrojac = 1; = 1; while (while (brojacbrojac < 11) { < 11) { System.out.println("VrijednostSystem.out.println("Vrijednost brojacabrojaca jeje " + " + brojacbrojac););

brojacbrojac++; ++; } }

}}}}

Ispis vrijednosti brojaIspis vrijednosti brojačča koji a koji ““brojibroji”” prolaske kroz prolaske kroz petlju.petlju.

Page 27: Osnovno o JAVI

27

Primjer doPrimjer do--whilewhile petljepetlje

class class PrimjerdoPrimjerdo { { public static void public static void main(Stringmain(String[] [] argsargs){ ){ intint brojacbrojac = 1; = 1;

do { do { System.out.println("VrijednostSystem.out.println("Vrijednost brojacabrojaca jeje: " + : " + brojacbrojac); ); brojacbrojac++; ++;

} while (} while (brojacbrojac <= 11); <= 11); }}

}}

Ispis vrijednosti brojaIspis vrijednosti brojačča koji a koji ““brojibroji”” prolaske kroz petlju.prolaske kroz petlju.

Page 28: Osnovno o JAVI

28

IZVORIIZVORIŠŠTATAUUččenje Javeenje Jave-- TutorialiTutoriali•• http://java.http://java.sunsun..comcom//docsdocs//booksbooks//tutorialtutorial//•• http://java.http://java.sunsun..comcom//docsdocs//whitewhite//langenvlangenv//•• http://http://larislaris..fesbfesb.hr/java/.hr/java/javajava..htmhtm

Primjer Primjer apletaapleta u Javiu Javi•• http://www.http://www.tssibeniktssibenik.hr/.hr/idimasuidimasu//oprojektuoprojektu//indexiindexi//indexindex_7._7.htmhtm

RoboJDE JavaRoboJDE Java--enabledenabled RoboticsRobotics SoftwareSoftware•• http://www.http://www.ridgesoftridgesoft..comcom//•• http://www.ridgesoft.com/robojde/robojde.htmhttp://www.ridgesoft.com/robojde/robojde.htm

Editor Editor JEDPLusJEDPLus 2.02.0•• http://moola.orconhosting.net.nz/java/JEDPlus20.ziphttp://moola.orconhosting.net.nz/java/JEDPlus20.zip

Editor BlueJEditor BlueJ•• http://www.http://www.bluejbluej..orgorg//downloaddownload//downloaddownload.html.html

Page 29: Osnovno o JAVI

29

KontaktKontakt

Saida DeljacSaida Deljac

EmailEmail: : [email protected]@email.t--com.hrcom.hrWeb: Web: http://public.carnet.hr/~sdeljac/http://public.carnet.hr/~sdeljac/