Osnovno o JAVI

Preview:

DESCRIPTION

Osnovno sta treba znati o JAVI

Citation preview

1

Osnovno o JaviOsnovno o Javi

Saida DeljacSaida Deljacnastavnica ranastavnica raččunalstvaunalstva

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

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

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//

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//

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…….) .)

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). ).

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//

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//

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//

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

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.).)

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//

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

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

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

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.

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.

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)

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

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) ;

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;}}

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.

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

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.

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

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.

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.

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

29

KontaktKontakt

Saida DeljacSaida Deljac

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