You are on page 1of 38

Podstawy jzyka Java

Ten rozdzia zawiera krtk charakterystyk jzyka Java oraz opis instalacji i podstaw uytkownika oprogramowania JD niez!dnego do tworzenia aplikacji w Javie" #o przyswojeniu wiadomo$ci zawartych w tym module% uytkownik !dzie posiada wiadomo$ci dotyczce &mocnych stron' jzyka Java oraz !dzie potra(i sam scign) i zainstalowa) oprogramowanie niez!dne do tworzenia aplikacji w tym jzyku"

1.1. Cele

1.2. Krtka historia Javy


*istoria Javy rozpocza si w roku +,,+% kiedy to grupa inynierw postanowiaa stworzy) prosty jzyk komputerowy% ktry suy!y do programowania niewielkich urzdze- elektronicznych" #rojekt ten nosi nazw &.reen' i w jego wyniku powsta jzyk /ak przemianowany p0niej na Jav" 1e wzgldu na to% e projekt .reen nie okaza si kompercyjnym sukcesem% projektanci Javy postanowili% zwrci) si w stron powastajcego wwczas $wiata 222" 2 +,,3r" napisali w Javie przegldark internetow *otJava prezentujc moliwo$ci jzyka Java"

#rzeomem dla Javy stao si poczenie jej z przegldark internetow 4avigator% wydan przez (irm 4etscape w +,,5r" #ierwsza wersja Javy pojawia si w +,,5r" 2anym momentem w historii Javy !yo wydanie w +,,6 roku wersji +"7% ktra poprawia !dy znalezione w poprzednich wersjach a take znacznie poszerzajca moliwo$ci jzyka" Ta wersja ze wzgldu na swoj wag zostaa przemianowana na Java 2

#race nad udoskonaleniem jzyka Java wci trwaj" 4ajnowsza wersja Javy nosi numer +"3% a pena nazwa tej plat(ormy !rzmi8 Java 7 #lat(orm 9tandard :dition 3";% w skrcie J79: 5.0. Numer 5.0 powsta w wyniku opuszczenia 1. z numeru wersji. Dla programistw jest przygotowany specjalny pakiet umo liwiaj!cy tworzenie aplikacji "a#y. "ego nazwa to "$%& De#elopment 'it 5.0( a w skrcie "D' 5.0.

1.3. Gwne cechy jzyka Java


4ajwaniejsze cechy jzyka Javy% ktre powoduj wzrastajc popularno$) w $wiecie8 o!iektowo$) niezaleno$) od plat(ormy zwizek z <nternetem roz!udowany system klas niezawodno$)

Java jzykie

o!iektowy

#ierwsze jzyki programowania wymagay stworzenia programw w postaci cigu instrucji% ktre komputer wykonywa sekwencyjnie"Takie podej$cie wizao si z konieczno$ci licznych powtrze- kodu% dlatego stworzono jzyki proceduralne% ktre powtarzajce si (ragmenty programu grupoway w (unkcje lu! procedury" #rzykadem jzyka proceduralnego jest =

Jzyki o!iektowe id krok dalej" 4a$ladujc natur nie oddzielaj one danych od (unkcji% tylko wprowadzaj tzw" o!iekty grupujce dane i zachowania razem" Takie podej$cie w programowaniu prezentuje np"8 =>>" Java jako jzyk nowoczesny% jest jzykiem o!iektowym% ktrego skadnia opiera si na jzyku =>>% ale w przeciewie-stwie do niego nie pozwala na pisanie programw nieo!iektowych"

"iezale#no$% od &lat'or y
4iezaleno$) od plat(ormy realizuje si dziki tzw" wirtualnej maszynie Javy ?J@AB" od 0rdowy programu nie jest kompilowany do programu wykonywalnego na konkretnej plat(ormie% ale do tzw" Cyte=odeDu" Ten kod podczas uruchomienia jest interpretowany wirtualn maszyn Javy ?Java @irtual AachineB" Je$li tylko na danej plat(ormie dostpna jest J@A to oznacza% e moemy na niej uruchomi) nasz aplikacj napisan w Javie !ez konieczno$ci jej rekompilacji"

)pplication *i+raries "a#a ,irtual -ac.ine /%


Eealizacja niezaleno$ci od plat(ormy

Java a (nternet
Java od samego pocztku skierowana !ya na <nternet" 4a pocztku duym zainteresowaniem cieszyy si aplety czyli mae programy zintegrowane ze stronami 222" #oza tym Java posiada wiele !i!liotek usprawniajcych korzystanie z zaso!w <nternet i umoliwia o!sug protokow T=#F<# i GD#" /!ecnie duym zainteresowaniem ciesz si serwlety% czyli programy pracujce na serwerach http potra(ice przetwarza) dane uzyskiwane od klientw serwisw% podo!nie jak skrypty =.<"

Java

serwlety

Hplikacje sieciowe typu klientIserwer

aplety Technologie Javy wsppracujce z internetem

)oz!*dowany syste

klas

#rojektanci Javy zapewnili programist !ardzo roz!udowany system klas i !i!liotek" /!ejmuj one midzy innymi takie zagadnienia jak8 .ra(ik /!sug sieci 2ielowtkowo$) /!sug skomplikowanych struktur danych

"iezawodno$% i !ez&iecze+stwo Javy


2 Javie wyeliminowano konieczno$) rcznego przydzielania ?alokacjiB i zwalniania ?dealokacjiB pamici" /!owizek zarzdzania pamici spoczywa na Javie a nie na programi$ci% co pozwala unikn) wielu !dw znanych programistom =F=>>" 2 Javie nie ma rwnie &arytmetyki wska0nikw'" 4ie pozwala ona na odniesienie do nieistniejcych elementw ta!lic" Dziki tym cechom programy w Javie s !ardziej niezawodne i pozwalaj programistom skupi) si na programowaniu a nie usuwaniu !dw"

1.,. "iez!dne o&ro-ra owanie


Tworzenie oprogramowania w Javie wymaga $cignicia i zainstalowania pakietu JD 3"; ?Java 7 Development it% 9tandard :dition% version 3";B% dostpnego za darmo na stronie http8FFjava"sun"com 2 skad tego pakietu wchodz midzy innymi8 javac J kompilator Javy java J interpreter Javy% wykonujcy kod otrzymany po kompilacji javadoc J program uatwiajcy tworzenie dokumentacji jar J program tworzcy archiwum jar

4iez!dny jest rwnie dowolny edytor tekstowy% umoliwiajcy pisanie kodu 0rdowego" #akiet JD 3"; jest narzdziem podstawowym% nie zawierajcym adnego zintegrowanego $rodowiska programistycznego% dlatego warto zaopatrzy) si w jedn z wielu plat(orm uatwiajcych programowanie% np" darmowy :clipse ?http8FFwww"eclipse"orgB

(nstalacja J.K
<nstalacja JD % polega na uruchomieniu $cignitego programu i postpowaniu zgodnie ze wskazwkami" #o zainstalowaniu naley jeszcze ustawi) zmienn $rodowiskow #HT* tak a!y wskazywaa katalog Java/jdk1.5.0/bin. Dziki temu !dzie moliwa kompilacja i uruchamianie programw z dowolnego katalogu"

1mian t mona wpowadzi)8 ?2indows K#B otwierajc kolejno8


Aj komputerL2y$wietl in(ormacje o systemieL1aawansowaneL1mienne $rodowiskowe

?2indows 7;;;B naciskajc prawy klawisz myszy na Aj komputer a nastpnie wy!ierajc8


wa$ciwo$ciLzaawansowaneLzmienne $rodowiskowe

?windows ,6F,3B naley dopisa) nastpujc linijk na ko-cu pliku


HGT/:K:="CHT8 set #HT*Mc8Njdk+"3";N!inOP#HT*P

?linuQB wydajc polecenie8


eQport #HT*MFusrFlocalFjdkF!in8R#HT*

1miany dla 2indows ,6F,3 !d o!owizywa) po restarcie komputera"

/&rawdzenie instalacji J.K


#o zainstalowaniu $rodowiska JD mamy dostp do kompilatora Javy ?program javacB% programu uruchomieniowego Javy ?javaB oraz innych narzdzi przydatnych podczas tworzenia aplikacji" H!y sprawdzi) poprawno$) instalacji JD % mona uruchomi) konsol ?9tartL uruchomL cmdB i wyda) polecenie8 java -version

Jako wynik powinni$my uzyska) ekran podo!ny do umieszczonego na ilustracji poniej% zawierajcego in(ormacje o wersji Javy zainstalowanej na komputerze

#liki z kodem 0rdowym Javy maj rozszerzenie "java" ompilacja pliku polega na wydaniu polecenia java plik.java 2 wyniku dostaniemy skompilowane pliki z rozszerzeniem "class" 2an opcj kompilatora jest -cp pozwalajc ustawi) $ciek dostpu do klas ?!i!liotekB z ktrych korzysta kompilowany programy np"8 javac Icp d8NmojeSkl plik"java

Ko &ilator javac

.ok* entacja
4a stronie http8FFjava"sun"comFj7seF+"3";FdocsFindeQ"html znajduje si dokumentacja do Javy" 1e wzgldu na roz!udowany zestaw pakietw% programi$ci Javy zmuszeni s do czstego odwiedzania tej witryny"

0wiczenia
+"#rosz $cign) i zainstalowa) pakiet JD " 7"Gstawi) zmienn $rodowiskow #ath" T"2yda) polecenie java Iversion U"Dooy) do &ulu!ionych' link do dokumentacji Javy"

Podstawy &ro-ra owania


2.1. Cele =elem moduu jest zapoznanie z ide programowania o!iektowego a take przedstawienie podstawowej skadni jzyka Java% umoliwiajcej tworzenie prostych niegra(icznych aplikacji"

2.2 Pro-ra owanie o!iektowe


2 yciu codzinnym stykamy si z rnymi o!iektami8 arwka% samochd% itp" 2szystkie o!iekty posiadaj pewne cechy% atry!uty% ktre s dla nich charakterystyczne" Dla arwki s to8 Aoc 4apicie zasilania 9tan ?wczonaFwyczonaB ady o!iekt charakteryzuje rwnie zestaw zachowa-%np" arwk mona 2czy) wyczy)

Klasy

/!iekty o podo!nych cechach i zachowaniach tworz klasy" onkretny o!iekt danej klasy nazywamy instancj klasy"

Pro-ra owanie zorientowane o!iektowo


Ten styl programowania polega na zidenty(ikowaniu co/kto skada si na opisywany system% a dopiero p0niej jak wykona) poszczeglne zadania" 1adaniem programisty jest stworzenie klas% !dcych niejako sza!lonem wedug ktrego z!udowane !d konkretne o!iekty czyli instancje" ada klasa moe zawiera)8 #/VH czyli atry!uty opisujce wa$ciwo$ci o!iektu A:T/DW opisujce zachowania o!iektw" Aetody s po prostu znane z programowania proceduralnego jako (unkcje"

0wiczenie
#oniej wypunktowano kilka skadnikw klasy prostokt" tre z nich s polami a ktre metodami8 9zeroko$) 2ysoko$) #odaj#ole 1mie-Eozmiar

/tr*kt*ra &ro-ra w w Javie


#rogramowanie w Javie polaga na pisaniu klas" 4ie ma moliwo$ci napisania (unkcji nie !dcej skadow jakiej$ klasy" ody 0rdowe programw umieszczamy w plikach z rozszerzeniem "java" lasy tworzymy wedug schematu8 class Nazwa {...} 2 pliku 0rdowym mog znajdowa) si de(inicje wielu klas" #rogramy kompilujemy programem javac.

1r*cha ianie &ro-ra w


Gruchomienie aplikacji wymaga wywoania8 java 4azwa lasy" Gruchamiana klasa musi zawiera) (unkcj main?B% ktra stanowi punkt startowy programu% czyli miejsce od ktrego zaczyna si wykonywanie programu" #oza tym de(inicja takiej klasy musi !y) poprzdzona mody(ikatorem pu!lic% np"8 pu!lic class 4azwa lasy X"""Y 2 jednym pliku moe !y) co najwyej jedna taka klasa pu!liczna a jej nazwa musi !y) taka sama jak nazwa pliku 0rdowego8 4azwa lasy"java

4ajprostszy program typu *ello2orld wymaga stworzenia klasy% ktra zawiera) !dzie (unkcj main wypisujc komunikat na ekranie" od takiego programu zamieszczony jest poniej8 public class HelloWorld { public static void main(String ! args" { s#stem.out.println($HelloWorld%"& } } #o kompilacji8 javac *ello2orld"java otrzymujemy plik *ello2orld"class% ktry moemy uruchomi)8 java HelloWorld

"aj&rostszy &ro-ra

w Javie

Podstawy skadni jzyka Java


Typy proste8
Nazwa char !yte short int long (loat dou!le !oolean Wielko +5I!itw 6I!itw +5I!itw T7I!ity 5UI!ity T7I!ity 5UI!ity akre! Z;% 533TU[ ZI+76%+7\[ ZIT7\56% T7\5\[ ZI7+U\U6T5U6% 7+U\U6T5U\[ ZI,77TT\7;T563U\\36;6% ,77TT\7;T563U\\36;\[ Zokoo IT"U:>T6% T"U:>T6[ Zokoo I+"\:>T;6%+"\:>T;6 [ trueF(alse

0wiczenie

#odaj przykad de(inicji zmiennej typu dou!le o nazwie Q% przyjmujcej warto$) T"+U

2&eratory

ate atyczne

> I ] F P zwraca reszt z dzielenia >> II

2&eratory relacji i o&eratory lo-iczne


4azwa #rzykad rwny TMMT nierwny T!MT wikszy od UL3 mniejszy od U^3 wikszy !d0 rwny 3LM3 mniejszy !d0 rwny 3^M3 2arto$) true (alse (alse true true true

__ ?operator H4DB% na przykad wyraenie ?TMMTB __ ?7!M7Bma warto$) (alse `` ?operator /EB przykadowe wyraenie ?U^3B``?3LUB ma warto$) true ! ?negacja 4/TB przykadowe wyraenie !(3==3) ma warto false

You might also like