po w7 utf8 id 557615 Nieznany

background image

Java.

1.

Ogólne

wiadomo± i

o

jzyku

2.

P

o

dsta

w

o

w

e

element

y

jzyk

a

background image

Java

t

w

ó

r ¡

jzyk

a

Java

jest

...

rma

Sun

Mi rosystems

(grupa

rob

o

za

p

o

d

kierunkiem

Jamesa

Goslinga)

rok

1991

background image

Java

Java

p

o

wstaª

a

w

o

dp

o

wiedzi

na

p

otrzeb

y

sp

e zno± i

p

rogramistó

w

p

ra uj¡ y h

na

rze z

internetu

Java

jest

jzykiem

wyso

e

p

rzeno±nym:

aplik

a je

w

Javie

niezale»ne

o

d

k

omputera

i

systemu

op

era yjnego

Java

zostaª

a

zap

rojekto

w

ana

z

p

rzezna zeniem

do

t

w

o

rzenia

du»y h

aplik

a ji,

w

sz zególno± i

dziaª

aj¡ y h

w

±ro

do

wisku

WWW

Na

p

o

z¡tku

Java

b

a

jzykiem

do

t

w

o

rzenia

tzw.

apletó

w,

zyli

aplik

a ji

uru hamiany h

p

rzez

p

rzegl¡da

rk



b

ez

k

o

rzystania

z

zasob

ó

w

serw

era,

z

któ

rego

aplik

a ja

zostaª

a

zaª

ado

w

ana

z

zasem

staª

a

si

jednym

z

najp

o

wsze hniej

u»yw

any h

jzyk

ó

w

ogólnego

p

rzezna zenia

background image

Java

a

C++

kilk

a

p

o

dsta

w

o

wy h

ró»ni

skª

adnia

Javy

wzo

ro

w

ana

jest

na

skª

adni

C/C++

Java

jest

jzykiem

nie o

wy»szego

p

oziomu

ni»

C++:

p

rogramista

nie

za

rz¡dza

pami i¡

Java

nie

jest

jzykiem

wielopa

radygmat

y znym,

oferuje

jedynie

pa

radygmat

obiekto

wy

(w

ada

i

zaleta)

Java

nie

jest

jzykiem

k

ompilo

w

anym

(w

t

ym

sensie

o

C/C++,

tzn.

do

k

o

du

maszyno

w

ego)

nie

ma

mo»liw

o± i

p

rze i¡»ania

op

erato

w

(denio

w

ania

dziaª

ania

op

erato

w

dla

asny h

t

yp

ó

w)

background image

Programo

w

anie

obiekto

w

e

w

Javie

Java

jest

jzykiem

obiekto

wym,

a

nie

t

ylk

o

daj¡ ym

mo»liw

o±¢

p

rogramo

w

ania

obiekto

w

ego

(jak

C++):

Java

na

rzu a

obiekto

wy

sp

osób

budo

w

ania

p

rogramu

(nie

da

si

p

rogramo

w

w

st

ylu

p

ro

eduralnym,

nie

ma

funk

ji,

zmienny h

globalny h,

wszystk

o

jest

'w

obiekta h')

background image

Java:

b

yt

y

p

o

dsta

w

o

w

e

Byt

y

p

o

dsta

w

o

w

e

jzyk

a

(rst

o

rder

entities)

to

te

t

yp

y

,

któ

re

mo»na

p

rzypisa¢

zmiennym,

p

rzek

azyw

jak

o

a

rgument

y

,

zwra a¢

jak

o

w

a

rto±¢

wyw

ania

meto

dy

.

Byt

y

p

o

dsta

w

o

w

e

jzyk

a

Java

dziel¡

si

na

dwie

k

atego

rie:

w

a

rto± i

pierw

otne/p

rymit

ywne,

któ

re

nie

obiektami

(!):

li zb

y

,

znaki

i

w

a

rto± i

logi zne

obiekt

y

Istnienie

enkla

wy

w

a

rto± i

nieobiekto

wy h

p

o

dykto

w

ane

jest

wzgldami

efekt

ywno± io

wymi.

W

a

rto± i

pierw

otne

alok

o

w

ane

na

stosie,

w

a

rto± i

obiekto

w

e

na

ster ie.

background image

Java

Klasy

,

hiera

r hia

klas

W

szystkie

w

a

rto± i

p

oza

pierw

otnymi

obiektami,

b

ed¡ ymi

instan jami

o

dp

o

wiedni h

klas.

W

Javie

hiera

r hia

klas

jest

drzew

em:

wszystkie

klasy

p

oza

jedn¡

maj¡

sw

oj¡

nadklas

-

dokª

adnie

jedn¡

(nie

ma

wielo

dziedzi zenia).

Klasa

najogólniejsza,

nie

maj¡ a

nadklasy

,

b

d¡ a

k

o

rzeniem

ej

hiera

r hii,

nazyw

a

si

Obje t.

background image

Java

Za

rz¡dzanie

pami i¡

pami ia

nie

za

rz¡dza

p

rogramista

t

ylk

o

system

wyk

ona

w

zy

Javy

(JVM)

p

rogramista

nie

ma

mo»liw

o± i

alok

o

w

ania

(za»¡dania

p

rzydziaªu)

o

raz

zw

alniania

pami i

nie

ma

op

era ji

na

wsk

a¹nik

a h

(nie

dostpne

adresy

obiektó

w)

background image

Java

Za

rz¡dzanie

pami i¡

p

rogramista

mo»e

ut

w

o

rzy¢

obiekt,

jest

on

alok

o

w

any

na

ster ie

nie

mo»e

go

znisz zy¢

obiekt

y

,

któ

re

nie

ju»

u»yw

ane,

do

któ

ry h

p

rogram

nie

ma

ju»

dostpu

usu

w

ane

z

pami i

automat

y znie

p

rogramista

nie

wie,

kiedy

obiekt

zostanie

znisz zony

,

nie

wie

na

w

et

zy

w

ogóle

si

to

stanie

w

trak

ie

wyk

onyw

ania

p

rogramu!

background image

Java

Od±mie a z

pami i

ang.

ga

rbage

olle to

r

zw

alnianie

pami i

realizo

w

ane

jest

p

rzez

me hanizm

zw

any

'o

d±mie a zem'

(ang.

ga

rbage

olle to

r)

p

ro

es

o

d±mie ania

jest

wyw

oªyw

any

p

rzez

system

wyk

ona

w

zy

(JVM),

p

rogram

nie

ma

nad

nim

k

ontroli

background image

Java

Od±mie a z

pami i

-

k

onsekw

en je

w

Javie

mamy

k

onstrukto

ry

istnieje

o

dp

o

wiednik

destrukto

ra

(meto

da

nalize),

ale

w

ob

e

tego

o

p

o

wiedziano

wy»ej,

u»yw

anie

go

rzadk

o

ma

sens.

background image

Java

Budo

w

a

p

rogramu

Program

w

Javie

jest

zbio

rem

deni ji

klas.

Jedna

z

klas

jest

wyró»niona.

Jest

to

klasa

aplik

a ji.

W

klasie

tej

musi

b

zdenio

w

ana

meto

da

main

Najmniejszy

p

rogram

w

Javie

musi

mie¢

p

osta¢:

lass

nazw

aklasy

{

publi

stati

void

main(String[℄

args)

{

instruk

je

}

}

background image

Java

Budo

w

a

p

rogramu

-

p

rzykª

ad

lass

HelloWorldApp

//

klasa

aplika ji

{

publi

stati

void

main(String[℄

args)

//

metoda

main

(ststy zna)

{

System.out.println("Hel lo

World!");

//

wydrukuj

napis

...

}

}

background image

Java:

uru hamianie

p

rogramu

Program

»ró

o

wy

w

Javie

jest

k

ompilo

w

any

do

k

o

du

p

o±redniego

(b

yte

o

de).

k

ompilato

r

nazyw

a

sie

java

K

o

d

p

o±redni

jest

wyk

onyw

any

p

rzez

Maszyn

Wirtulan¡

Javy

.

maszyna

wirtualna

nazyw

a

si

java

background image

Java:

uru hamianie

p

rogramu

Maszyna

Wirtualna

Javy

,

p

rzeno±no±¢

p

rogramó

w

Maszyna

Wirtualna

Javy

(Java

Virtual

Ma hine

-

JVM)

jest

interp

reterem

k

o

du

p

o±redniego

(b

yte

o

de).

dla

k

a»dej

a

r hitektury

k

omputera

i

systemu

op

era yjnego

istnieje

o

drbna,

o

dp

o

wiednia

w

ersja

maszyny

wirtualnej

jednak

k

a»da

z

t

y h

maszyn

p

o

winna

wyk

ona¢

w

taki

sam

sp

osób

k

o

d

p

o±redni

background image

Java

Przykª

ad

uru homienia

p

rogramu

-

krok

1.

piszemy

p

rogram,

np.:

lass

HelloWorldApp

{

publi

stati

void

main(String[℄

args)

{

System.out.println("Hel lo

World!");

}

}

i

zapisujemy

w

pliku

HelloWorldApp.java.

Nazw

a

pliku

nie

ma

zna zenia.

Nie

musi

b

zgo

dna

z

nazw

¡

klasy

(w

pliku

mo»e

b

wiele

deni ji

klas).

background image

Java

Przykª

ad

uru homienia

p

rogramu

-

krok

2.

k

ompilujemy

p

rogram

do

k

o

du

p

o±redniego:

%

java

HelloWorldApp.java

k

ompilato

r

t

w

o

rzy

osobne

pliki

wynik

o

w

e

dla

k

a»dej

z

klas

zdenio

w

any h

w

pliku

pliki

wynik

o

w

e

maj¡

nazwy:

nazw

aklasy. lass

pliki

te

za

wieraj¡

k

o

d

p

o±redni

(b

yte

o

de)

p

rzezna zony

do

interp

reta ji

na

maszynie

wirtualnej

background image

Java

Przykª

ad

uru homienia

p

rogramu

-

krok

3.

uru hamiamy

p

rogram

p

o

daj¡

interp

retero

wi

(JVM)

nazw



klasy

aplik

a ji:

%

java

HelloWorldApp

background image

Maszyny

wirtualne

dygresja

S hemat:

k

ompila ja

do

k

o

du

p

o±redniego

>

wyk

onanie

na

maszynie

wirtualnej

jest

stoso

w

any

dla

wielu

jzyk

ó

w,

np.

Lisp,

Prolog,

P

erl6

(p

rojekt)

Naj iek

a

wszym

p

rojektem

maszyny

wirtualnej

jest

P

a

rrot:

uniw

ersalna

maszyna

wirtualna,

p

omy±lana

jak

o

system

wyk

ona

w

zy

dla

szerokiej

gamy

jzyk

ó

w

wysokiego

p

oziomu

(P

erl,

Rub

y

,

Python,

S heme,

Hask

ell,

Smalltalk,

...)

zaintereso

w

any h

tematem

maszyn

wirtualny h

za h am

do

o

dwiedzenia

strony

p

rojektu

P

a

rrot

www.parrot ode.org

background image

Java

‘ro

do

wisk

a

JRE

i

JDK

ab

y

wyk

onyw

p

rogramy

w

javie,

trzeba

mie¢

zainstalo

w

ane

±ro

do

wisk

o

JRE

(Java

Runtime

Environment);

JRE

za

wiera

system

wyk

ona

w

zy

Javy

(JVM

-

p

rogram

java)

o

raz

pakiet

y

klas

ab

y

t

w

o

rzy¢

p

rogramy

w

Javie,

trzeba

mie¢

zainstalo

w

ane

±ro

do

wisk

o

JDK

(Java

Development

Kit);

JDK

za

wiera

JRE

o

raz

k

ompilato

r

Javy

(p

rogram

java )

±ro

do

wisk

a

te

dostpne

b

ezpª

atnie,

i h

najba

rdziej

rozp

o

wsze hniona

w

ersja

jest

dystrybuo

w

ana

p

rzez

rm

Sun

strona

java.sun. om

istniej¡

te»

alternat

ywne

implementa je

JDK

i

JRE

(np.

GNU)

background image

Java

Sz zegóªy

P

o

dsta

wy

background image

Java

T

yp

y

w

a

rto± i

pierw

otny h

t

yp

w

a

rto±¢

b

o

olean

true,

false

ha

r

znak

16-bito

wy

Uni o

de

b

yte

l.

aªk

o

wita

8-bito

w

a

b

ez

znaku

sho

rt

l.

aªk

o

wita

16-bito

w

a

ze

znakiem

int

l.

aªk

o

wita

32-bito

w

a

ze

znakiem

long

l.

aªk

o

wita

64-bito

w

a

ze

znakiem

oat

l.

zmiennop

ozy yjna

32-bito

w

a

ze

znakiem

double

l.

zmiennop

ozy yjna

64-bito

w

a

ze

znakiem

W

a

rto± i

pierw

otne

alok

o

w

ane

na

stosie.

UW

A

GA:

W

jzyku

C/C++

rozmia

ry

p

osz zególny h

t

yp

ó

w

b

yªy

zale»ne

o

d

k

ompilato

ra,

w

Javie

okre±lone

na

p

oziomie

sp

e yk

a ji

jzyk

a.

background image

Java

W

a

rto± i

pierw

otne

Z

w

a

rto± i

pierw

otny h

w

Javie

k

o

rzysta

si

tak

samo

jak

w

C

(p

rze ho

wyw

anie

w

zmienny h,

p

rzek

azyw

anie

jak

o

pa

rametr

meto

dy

,

zwra anie

w

a

rto± i,

zakres,

wido

zno±¢).

background image

Java

W

a

rto± i

obiekto

w

e

-

kryt

y zne

info

rma je

Sp

osób

manipula ji

w

a

rto± iami

obiekto

wymi

jest

inny

ni»

w

C++.

do

obiektó

w

o

dw

oªujemy

sie

p

op

rzez

referen j

w

a

rto± i¡

zmiennej/atrybutu

nigdy

nie

jest

obiekt,

le z

referen ja

do

obiektu

dekla

ruj¡

zmienn¡

't

ypu

obiekto

w

ego'

nie

t

w

o

rzymy

obiektu,

t

w

o

rzymy

jedynie

miejs e

na

p

rze ho

wyw

anie

referen ji

do

obiektu

obiekt

musimy

ut

w

o

rzy¢

(op

erato

r

new)

background image

Java

Referen je

-

p

rzykª

ad

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

}

}

background image

Java

T

abli e

T

abli e

obiektami

(p

o

dklasa

klasy

Obje t),

u»yw

a

si

i h

t

ylk

o

k

o

rzystaj¡

ze

sp

e jalnej

skª

adni

(na

wiasy

kw

adrato

w

e)

elementami

tabli y

mog¡

b

w

a

rto± i

t

yp

ó

w

pierw

otny h

lub

referen je

do

obiektó

w

w

dekla

ra ji

tabli y

nie

p

o

daje

si

jej

wymia

ru(ó

w)

String[℄

napisy;

int[℄[℄

tab;

wymia

ry

p

o

daje

si

p

rzy

t

w

o

rzeniu

tabli y

napisy

=

new

String[50℄;

//

u»y ie

operatora

new

int[℄[℄

tab

=

1,2,

3,4;

//

ini jaliza ja

Java

k

ontroluje,

zy

w

o

dw

aniu

do

tabli y

indeks

nie

wy ho

dzi

p

oza

zakres

background image

Java

background image
background image
background image

Wyszukiwarka

Podobne podstrony:

więcej podobnych podstron