• Nie Znaleziono Wyników

ava. 1.gó

N/A
N/A
Protected

Academic year: 2021

Share "ava. 1.gó"

Copied!
26
0
0

Pełen tekst

(1)

1. Ogólnewiadomo± io jzyku

2. Podstawowe elementy jzyka

(2)

twór ¡jzyka Java jest... rmaSunMi rosystems(grupa

robo za pod kierunkiemJamesaGoslinga)

rok1991

(3)

Java powstaªa wodpowiedzina potrzeby spoªe zno± i

programistówpra uj¡ y h narze z internetu

Java jestjzykiem wyso e przeno±nym: aplika je wJavie s¡

niezale»ne od komputera isystemu opera yjnego

Java zostaªazaprojektowana zprzezna zeniemdo tworzenia

du»y h aplika ji,wsz zególno± idziaªaj¡ y h w±rodowisku

WWW

Na po z¡tku Java byªajzykiem dotworzeniatzw. apletów,

zyliaplika ji uru hamiany h przezprzegl¡dark bez

korzystania zzasobówserwera, zktórego aplika ja zostaªa

zaªadowana

z zasemstaªasi jednym z najpowsze hniej u»ywany h

jzyków ogólnegoprzezna zenia

(4)

kilkapodstawowy hró»ni

skªadnia Javy wzorowanajest naskªadni C/C++

Java jestjzykiem nie owy»szego poziomu ni» C++:

programistanie zarz¡dza pami i¡

Java nie jestjzykiem wieloparadygmaty znym, oferujejedynie

paradygmatobiektowy (wadai zaleta)

Java nie jestjzykiem kompilowanym (w tym sensie o

C/C++,tzn. do kodu maszynowego)

(5)

Java jestjzykiemobiektowym,anie tylko daj¡ ymmo»liwo±¢

programowania obiektowego (jak C++):

Java narzu aobiektowy sposób budowaniaprogramu (nieda

si programowa¢ wstylupro eduralnym, nie mafunk ji,

zmienny hglobalny h, wszystko jest'w obiekta h')

(6)

Bytypodstawowejzyka(rstorder entities)totetypy,któremo»na

przypisa¢zmiennym,przekazywa¢jakoargumenty,zwra a¢jakowarto±¢

wywoªaniametody.

Byty podstawowe jzyka Java dziel¡si nadwie kategorie:

warto± i pierwotne/prymitywne, którenie s¡ obiektami (!):

li zby,znakii warto± i logi zne

obiekty

Istnienie enklawywarto± inieobiektowy hpodyktowanejestwzgldami

efektywno± iowymi.

(7)

Klasy,hierar hiaklas

Wszystkie warto± i pozapierwotnymi s¡obiektami,bed¡ ymi

instan jamiodpowiedni h klas.

W Javiehierar hiaklasjestdrzewem: wszystkieklasy poza

jedn¡ maj¡swoj¡nadklas - dokªadnie jedn¡ (niema

wielodziedzi zenia).

Klasa najogólniejsza,nie maj¡ anadklasy,bd¡ a korzeniem

aªejhierar hii, nazywasi Obje t.

(8)

Zarz¡dzaniepami i¡

pami ia nie zarz¡dza programistatylko systemwykonaw zy

Javy (JVM)

programistanie mamo»liwo± ialokowania(za»¡dania

przydziaªu) oraz zwalniania pami i

nie maopera ji nawska¹nika h (nies¡ dostpneadresy

obiektów)

(9)

Zarz¡dzaniepami i¡

programistamo»e utworzy¢ obiekt,jeston alokowany na

ster ie

nie mo»e go znisz zy¢

obiekty,którenie s¡ju»u»ywane, do który h program niema

ju»dostpu s¡ usuwane zpami i automaty znie

programistanie wie,kiedyobiekt zostanieznisz zony,nie wie

nawet zyw ogóle sito staniew trak iewykonywania

programu!

(10)

Od±mie a zpami iang. garbage olle tor

zwalnianiepami i realizowane jestprzezme hanizmzwany

'od±mie a zem'(ang. garbage olle tor)

pro esod±mie aniajestwywoªywany przezsystem wykonaw zy

(JVM),program nie manad nimkontroli

(11)

Od±mie a zpami i-konsekwen je

w Javiemamykonstruktory

istnieje odpowiednikdestruktora (metodanalize),ale wobe

tego o powiedzianowy»ej, u»ywanie gorzadko masens.

(12)

Budowaprogramu

Programw Javiejestzbioremdeni jiklas. Jedna zklasjest

wyró»niona. Jestto klasaaplika ji. W klasietej musiby¢

zdeniowana metoda main

Najmniejszy program w Javiemusi mie¢posta¢:

publi lass nazwaklasy

{

publi stati void main(String[℄ args)

{

instruk je

}

}

(13)

Budowaprogramu-przykªad

publi lass HelloWorldApp // klasa aplika ji

{

publi stati void main(String[℄ args) // metoda main (ststy zna)

{

System.out.println("Hel lo World!"); // wydrukuj napis ...

}

}

(14)

Program»ródªowy wJavie jestkompilowany do kodu

po±redniego (byte ode).

kompilatornazywasie java

Kodpo±rednijestwykonywany przezMaszyn Wirtulan¡Javy.

maszyna wirtualna nazywa sijava

(15)

MaszynaWirtualnaJavy,przeno±no±¢programów

Maszyna WirtualnaJavy(Java VirtualMa hine -JVM) jest

interpreteremkodupo±redniego(byte ode).

dla ka»dejar hitekturykomputeraisystemu opera yjnego

istnieje odrbna, odpowiednia wersja maszyny wirtualnej

jednak ka»daz ty h maszynpowinna wykona¢ w takisam

sposób kodpo±redni

(16)

Przykªaduru homieniaprogramu-krok1.

piszemy program,np.:

publi lass HelloWorldApp

{

publi stati void main(String[℄ args)

{

System.out.println("Hello World!");

}

}

izapisujemy w pliku HelloWorldApp.java.

(17)

Przykªaduru homieniaprogramu-krok2.

kompilujemyprogram do kodupo±redniego:

% java HelloWorldApp.java

kompilatortworzyosobne plikiwynikowe dla ka»dejz klas

zdeniowany h wpliku

plikiwynikowe maj¡ nazwy: nazwaklasy. lass

plikite zawieraj¡kod po±redni(byte ode)przezna zony do

interpreta jina maszyniewirtualnej

(18)

Przykªaduru homieniaprogramu-krok3.

uru hamiamy programpodaj¡ interpreterowi (JVM)nazw

klasy aplika ji:

% java HelloWorldApp

(19)

dygresja

S hemat: kompila jado kodupo±redniego

− >

wykonaniena

maszyniewirtualnej jeststosowany dlawielu jzyków, np. Lisp,

Prolog,Perl6(projekt)

Naj iekawszymprojektemmaszyny wirtualnejjest Parrot:

uniwersalna maszyna wirtualna,pomy±lana jako system

wykonaw zy dlaszerokiejgamy jzykówwysokiego poziomu

(Perl, Ruby, Python,S heme, Haskell,Smalltalk,...)

zainteresowany h tematemmaszyn wirtualny hza h am do

odwiedzeniastronyprojektu Parrot www.parrot ode.org

(20)

‘rodowiskaJREiJDK

aby mó wykonywa¢ programy wjavie, trzebamie¢

zainstalowane ±rodowisko JRE(JavaRuntime Environment);

JRE zawiera systemwykonaw zy Javy(JVM -program java)

oraz pakiety klas

aby mó tworzy¢ programy w Javie,trzeba mie¢zainstalowane

±rodowisko JDK (JavaDevelopment Kit);JDK zawiera JRE

oraz kompilatorJavy(program java )

±rodowiskate s¡dostpne bezpªatnie,i h najbardziej

rozpowsze hniona wersja jestdystrybuowana przezrm Sun

strona java.sun. om

istniej¡te» alternatywneimplementa jeJDK i JRE(np. GNU)

(21)

Sz zegóªy

Podstawy

(22)

Typywarto± ipierwotny h

typ warto±¢

boolean true,false

har znak16-bitowyUni ode

byte l. aªkowita8-bitowabezznaku

short l. aªkowita16-bitowazeznakiem

int l. aªkowita32-bitowazeznakiem

long l. aªkowita64-bitowazeznakiem

oat l. zmiennopozy yjna32-bitowazeznakiem

double l. zmiennopozy yjna64-bitowazeznakiem

Warto± ipierwotnes¡alokowanenastosie. UWAGA:WjzykuC/C++

rozmiaryposz zególny htypówbyªyzale»neodkompilatora,w Javies¡

okre±lonenapoziomiespe yka jijzyka.

(23)

Warto± ipierwotne

Z warto± ipierwotny hw Javiekorzysta sitaksamo jakw C

(prze howywanie wzmienny h, przekazywanie jako parametr

metody, zwra aniewarto± i,zakres, wido zno±¢).

(24)

Warto± iobiektowe-kryty zneinforma je

Sposób manipula jiwarto± iamiobiektowymi jestinnyni» wC++.

do obiektów odwoªujemy sie poprzez referen j

warto± i¡zmiennej/atrybutu nigdynie jest obiekt,le z

referen ja do obiektu

deklaruj¡ zmienn¡ 'typu obiektowego' nie tworzymy obiektu,

tworzymy jedyniemiejs ena prze howywanie referen jido

obiektu

obiekt musimyutworzy¢ (operatornew)

(25)

Referen je-przykªad

publi lass Przyklad

{

publi stati void main(String[℄ args)

String s; // deklarujemy s jako referen j

// do obiektu klasy String

System.out.println(s); // bª¡d!

s = new String("Ala"); // przypusujemy s-owi obiekt

System.out.println(s); // ok

}

}

(26)

Tabli e

Tabli e s¡obiektami(podklasaklasy Obje t),u»ywa si i h

tylko korzystaj¡ zespe jalnejskªadni (nawiasy kwadratowe)

elementami tabli y mog¡by¢warto± itypów pierwotny h lub

referen jedo obiektów

w deklara ji tabli ynie podajesijej wymiaru(ów)

String[℄ napisy;

int[℄[℄ tab;

wymiarypodajesiprzy tworzeniu tabli y

napisy = new String[50℄; // u»y ie operatora new

int[℄[℄ tab = {{1,2}, {3,4}}; // ini jaliza ja

Java kontroluje, zy wodwoªaniu do tabli y indeksnie

Cytaty

Powiązane dokumenty

pieczątka i podpis osoby upoważnionej do reprezentowania Wykonawcy... Pakiet nr

Przybyszewski wybitnym swym indywidualizmem stworzył nieznany dawniej ruch umysłowy, ścierały się zdania i poglądy wprost przeciwne, »Ż y c i e« wywalczało nowej

Udowodni¢, »e produkt wªóknisty separowalnych morzmów jest sep- arowalnym morzmem.. Udowodni¢, »e separowalne morzmy s¡ stabilne wzgl¦dem

Ta wielkość, znacznie przewyższająca udziały powiatów czy województw w podatku PIT oraz wszystkich szczebli samorządowych w podatku dochodowym od osób prawnych

24 Definicja wskaźnika Liczba osób pracujących 6 miesięcy po opuszczeniu programu (łącznie z pracującymi na własny rachunek), Załącznik 2b, op.. Pracujący to

Kiedy wyszło słońce, wysiadł z samochodu i przesiadł się do balonu, którym poleciał wysoko do góry (dzieci przesuwają język za górne zęby po wałku dziąsłowym)..

Destylacja molekularna jest ważnym elementem wytwarzania wysokiej jakości i w odpowiednim standardzie półproduktów w formie ekstraktów i izolatów kannabinoidów (CBD, CBG, CBC,

Wpływ wstępnej obróbki ultradźwiękowej o natężeniu 28 W·cm -2 na proces pozyskiwania olejków eterycznych z całych nasion kminku zwyczajnego..