Java. Praktyczny kurs [4 ed.] [PDF]

To Java, nie sen! Instrukcje języka i programowanie obiektowe, czyli co trzeba wiedzieć, by zacząć programować w Javie W

149 11 6MB

Polish Pages 423 Year 2015

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Spis treści......Page 2
Krótka historia Javy......Page 4
Narzędzia......Page 5
Wersje Javy......Page 6
Lekcja 2. Podstawy obiektowości i typy danych......Page 0
Lekcja 3. Komentarze......Page 18
Zmienne......Page 22
Lekcja 4. Deklaracje i przypisania......Page 23
Lekcja 5. Wyprowadzanie danych na ekran......Page 26
Lekcja 6. Operacje na zmiennych......Page 32
Lekcja 7. Instrukcja warunkowa if…else......Page 46
Lekcja 8. Instrukcja switch i operator warunkowy......Page 52
Lekcja 9. Pętle......Page 58
Lekcja 10. Instrukcje break i continue......Page 65
Lekcja 11. Podstawowe operacje na tablicach......Page 73
Lekcja 12. Tablice wielowymiarowe......Page 78
Lekcja 13. Klasy, pola i metody......Page 90
Lekcja 14. Argumenty i przeciążanie metod......Page 99
Lekcja 15. Konstruktory......Page 109
Dziedziczenie......Page 120
Lekcja 16. Klasy potomne......Page 121
Lekcja 17. Specyfikatory dostępu i pakiety......Page 128
Lekcja 18. Przesłanianie metod i składowe statyczne......Page 143
Lekcja 19. Klasy i składowe finalne......Page 155
Lekcja 20. Blok try…catch......Page 164
Lekcja 21. Wyjątki to obiekty......Page 172
Lekcja 22. Własne wyjątki......Page 181
Lekcja 23. Konwersje typów i rzutowanie obiektów......Page 194
Lekcja 24. Późne wiązanie i wywoływanie metod klas pochodnych......Page 203
Lekcja 25. Konstruktory oraz klasy abstrakcyjne......Page 211
Lekcja 26. Tworzenie interfejsów......Page 221
Lekcja 27. Wiele interfejsów......Page 229
Lekcja 28. Klasa w klasie......Page 237
Lekcja 29. Rodzaje klas wewnętrznych i dziedziczenie......Page 245
Lekcja 30. Klasy anonimowe i zagnieżdżone......Page 253
Lekcja 31. Standardowe wejście......Page 268
Lekcja 32. Standardowe wejście i wyjście......Page 278
Lekcja 33. System plików......Page 294
Lekcja 34. Operacje na plikach......Page 305
Lekcja 35. Kontenery......Page 322
Lekcja 36. Typy uogólnione......Page 335
Lekcja 37. Podstawy apletów......Page 350
Lekcja 38. Kroje pisma (fonty) i kolory......Page 357
Lekcja 39. Grafika......Page 365
Lekcja 40. Dźwięki i obsługa myszy......Page 375
Lekcja 41. Tworzenie aplikacji......Page 385
Lekcja 42. Komponenty......Page 401
Skorowidz......Page 416
Papiere empfehlen

Java. Praktyczny kurs [4 ed.] [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Spis treści Wstęp .............................................................................................. 5 Rozdział 1. Podstawy ......................................................................................... 9 Instalacja JDK .................................................................................................................. 9 Instalacja w systemie Windows ................................................................................ 10 Instalacja w systemie Linux ..................................................................................... 11 Przygotowanie do pracy z JDK ................................................................................ 11 Podstawy programowania ............................................................................................... 13 Lekcja 1. Struktura programu, kompilacja i wykonanie ........................................... 13 Lekcja 2. Podstawy obiektowości i typy danych ...................................................... 16 Lekcja 3. Komentarze ............................................................................................... 19

Rozdział 2. Instrukcje języka ............................................................................ 23 Zmienne .......................................................................................................................... 23 Lekcja 4. Deklaracje i przypisania ........................................................................... 24 Lekcja 5. Wyprowadzanie danych na ekran ............................................................. 27 Lekcja 6. Operacje na zmiennych ............................................................................. 33 Instrukcje sterujące ......................................................................................................... 47 Lekcja 7. Instrukcja warunkowa if…else ................................................................. 47 Lekcja 8. Instrukcja switch i operator warunkowy ................................................... 53 Lekcja 9. Pętle .......................................................................................................... 59 Lekcja 10. Instrukcje break i continue ...................................................................... 66 Tablice ............................................................................................................................ 74 Lekcja 11. Podstawowe operacje na tablicach .......................................................... 74 Lekcja 12. Tablice wielowymiarowe ........................................................................ 79

Rozdział 3. Programowanie obiektowe. Część I ................................................. 91 Podstawy ........................................................................................................................ 91 Lekcja 13. Klasy, pola i metody ............................................................................... 91 Lekcja 14. Argumenty i przeciążanie metod .......................................................... 100 Lekcja 15. Konstruktory ......................................................................................... 110 Dziedziczenie ............................................................................................................... 121 Lekcja 16. Klasy potomne ...................................................................................... 122 Lekcja 17. Specyfikatory dostępu i pakiety ............................................................ 129 Lekcja 18. Przesłanianie metod i składowe statyczne ............................................ 144 Lekcja 19. Klasy i składowe finalne ....................................................................... 156

4

Java. Praktyczny kurs

Rozdział 4. Wyjątki .......................................................................................... 165 Lekcja 20. Blok try…catch ..................................................................................... 165 Lekcja 21. Wyjątki to obiekty ................................................................................ 173 Lekcja 22. Własne wyjątki ..................................................................................... 182

Rozdział 5. Programowanie obiektowe. Część II .............................................. 195 Polimorfizm .................................................................................................................. 195 Lekcja 23. Konwersje typów i rzutowanie obiektów .............................................. 195 Lekcja 24. Późne wiązanie i wywoływanie metod klas pochodnych ..................... 204 Lekcja 25. Konstruktory oraz klasy abstrakcyjne ................................................... 212 Interfejsy ....................................................................................................................... 222 Lekcja 26. Tworzenie interfejsów .......................................................................... 222 Lekcja 27. Wiele interfejsów .................................................................................. 230 Klasy wewnętrzne ........................................................................................................ 238 Lekcja 28. Klasa w klasie ....................................................................................... 238 Lekcja 29. Rodzaje klas wewnętrznych i dziedziczenie ......................................... 246 Lekcja 30. Klasy anonimowe i zagnieżdżone ......................................................... 254

Rozdział 6. System wejścia-wyjścia ................................................................ 269 Lekcja 31. Standardowe wejście ............................................................................ 269 Lekcja 32. Standardowe wejście i wyjście ............................................................. 279 Lekcja 33. System plików ...................................................................................... 295 Lekcja 34. Operacje na plikach .............................................................................. 306

Rozdział 7. Kontenery i typy uogólnione .......................................................... 323 Lekcja 35. Kontenery ............................................................................................. 323 Lekcja 36. Typy uogólnione ................................................................................... 336

Rozdział 8. Aplikacje i aplety ......................................................................... 351 Aplety ........................................................................................................................... 351 Lekcja 37. Podstawy apletów ................................................................................. 351 Lekcja 38. Kroje pisma (fonty) i kolory ................................................................. 358 Lekcja 39. Grafika .................................................................................................. 366 Lekcja 40. Dźwięki i obsługa myszy ...................................................................... 376 Aplikacje ...................................................................................................................... 386 Lekcja 41. Tworzenie aplikacji .............................................................................. 386 Lekcja 42. Komponenty ......................................................................................... 402

Skorowidz .................................................................................... 417

Wstęp Krótka historia Javy Trudno znaleźć osobę interesującą się zagadnieniami informatycznymi, która nie słyszałaby o Javie. Java jest językiem, który w bardzo krótkim czasie zdobył popularność i uznanie programistów na całym świecie. Dawniej kojarzono go głównie z internetem i siecią WWW, a także z telefonami komórkowymi, choć tak naprawdę zawsze był to doskonały obiektowy (zorientowany obiektowo) język programowania, nadający się do różnorodnych zastosowań: od krótkich apletów do bardzo poważnych i rozbudowanych aplikacji. Jego początki były jednak dużo skromniejsze. Zapewne wielu Czytelnikom trudno będzie w to uwierzyć, ale Java była pierwotnie znana jako Oak (Dąb) i miała być językiem programowania służącym do sterowania urządzeniami elektronicznymi powszechnego użytku, czyli pralkami, lodówkami czy kuchenkami mikrofalowymi, a więc praktycznie każdym urządzeniem, które zawiera mikroprocesor. Stąd właśnie wywodzi się jedna z największych zalet Javy, czyli przenośność — ten sam program, przynajmniej teoretycznie, będzie bowiem działał na różnych urządzeniach i platformach sprzętowo-systemowych. Będzie go więc można uruchomić i na komputerze PC, i na Macintoshu, i w systemie Windows, i w Uniksie. Takie były właśnie początki Javy w roku 1990, czyli dwadzieścia kilka lat temu. Język został opracowany przez zespół kierowany przez Jamesa Goslinga w firmie Sun Microsystems, choć w rzeczywistości prace były prowadzone na Uniwersytecie Stanford. Projekt ten był gotowy bardzo szybko, już w roku 1991, jednak tak naprawdę aż do roku 1994 nie udało się go spopularyzować. Z tego też powodu prace zostały zawieszone. Historia informatyki pełna jest jednak przypadków. Były to lata ogromnej ekspansji i wręcz eksplozji internetu. Nagle okazało się, że Oak przecież doskonale sprawdzałby się w tak różnorodnym środowisku, jakim jest globalna sieć. W ten oto sposób w roku 1995 ujrzała światło dzienne Java, a to, co nastąpiło później, zaskoczyło chyba wszystkich, łącznie z twórcami tego języka. Java niezwykle szybko, nawet jak na technologię informatyczną, została zaakceptowana przez społeczność internautów i programistów na całym świecie. Z pewnością nie można tu pominąć wpływu kampanii marketingowej producenta, nie osiągnęłaby ona jednak sukcesu, gdyby nie niewątpliwe zalety tego języka. Java

6

Java. Praktyczny kurs

to doskonale skonstruowany język programowania, który programistom przypada do gustu zwykle już przy pierwszym kontakcie. Od Javy po prostu nie ma już odwrotu. Obecnie to dojrzała, choć wciąż rozwijana technologia, z której korzystają rzesze programistów na całym świecie.

Narzędzia Do programowania w Javie będzie potrzebne odpowiednie środowisko programistyczne zawierające niezbędne narzędzia: minimum to kompilator oraz tzw. maszyna wirtualna. Wszystkie przykłady prezentowane w tej książce są oparte na pakiecie JDK (Java Development Kit). Można skorzystać z wersji sygnowanej przez oficjalnego producenta Javy — firmę Oracle1 — lub rozwijanej na zasadach wolnego oprogramowania wersji OpenJDK. Wersja oficjalna dostępna jest pod adresami http://java.sun.com (po wpisaniu tego adresu nastąpi przekierowanie do domeny oracle.com) i http://www.java.com, a OpenJDK pod adresem http://openjdk.java.net/. Najlepiej korzystać z jak najnowszej wersji JDK, tzn. 6 (1.6), 7 (1.7), 8 (1.8) lub wyższej (o ile taka będzie dostępna2), choć podstawowe przykłady będą działać nawet na wiekowej już wersji 1.1. Jeśli będą stosowane funkcje dostępne jedynie w konkretnej wersji środowiska, będzie to zaznaczane w tekście. Do testowania apletów przedstawionych w rozdziale 8. można użyć dowolnej przeglądarki internetowej obsługującej język Java lub zawartej w JDK aplikacji appletviewer. Większość obecnie dostępnych na rynku przeglądarek udostępnia Javę poprzez mechanizm wtyczek, umożliwiając zastosowanie najnowszych wersji JRE (Java Runtime Environment), czyli środowiska uruchomieniowego. Oprócz JDK będzie potrzebny jedynie dowolny edytor tekstowy umożliwiający wpisywanie tekstu programów. Może to być nawet tak prosty produkt jak np. Notatnik z Windowsa. Lepszym rozwiązaniem byłby jednak bardziej rozbudowany produkt oferujący takie udogodnienia jak kolorowanie składni i numerowanie wierszy kodu. Dla środowiska Windows można polecić np. doskonały i darmowy Notepad++ (http://notepad-plus-plus.org/). Dobrym rozwiązaniem będzie też wieloplatformowy jEdit (http://www. jedit.org/), który został napisany w… Javie. Istnieje również możliwość zastosowania zintegrowanych graficznych środowisk programistycznych, takich jak Eclipse (http://www.eclipse.org/) czy NetBeans (http://netbeans. org/), które ułatwiają projektowanie aplikacji (oba zostały napisane w Javie). Dla osób początkujących lepszy byłby jednak najprostszy edytor tekstowy — takie rozwiązanie pozwoli najpierw poznać dobrze sam język, a dopiero potem bardziej zaawansowane środowiska programistyczne.

1

Pierwotny producent — Sun Microsystems — został zakupiony przez Oracle w 2009 roku. Tym samym obecnie to Oracle oficjalnie odpowiada za rozwój Javy.

2

W trakcie powstawania tej książki kolejna wersja Javy była zapowiadana na rok 2016, biorąc jednak pod uwagę wcześniejszą historię języka, jest mało prawdopodobne, aby taki termin został dotrzymany.

Wstęp

7

Wersje Javy Pierwsza wersja Javy pojawiła się w roku 1995 i nosiła numer 1.0, większą popularność zdobyła jednak dopiero usprawniona wersja 1.1 z roku 1997. Po kolejnych dwóch latach (rok 1999) światło dzienne ujrzała Java 1.2, która ze względu na znaczne usprawnienia (zawierała już wtedy ok. 60 pakietów i ponad 1500 klas) została nazwana Platformą Java 2 (ang. Java 2 Platform). W ramach projektu Java 2 powstały trzy wersje narzędzi JDK i JRE3: 1.2 (1999), 1.3 (2000) i 1.4 (2002), a każda z nich miała od kilku do kilkunastu podwersji. Kolejnym krokiem w rozwoju projektu była wersja 1.5 (rok 2004), która, jak się wydaje, ze względów czysto marketingowych została przemianowana na 5.0; określa się ją również mianem Java 5. W 2006 roku pojawiła się Java 6 (1.6) zawierająca nowe rozwiązania, takie jak obsługa typów uogólnionych (ang. generics). Zrezygnowano też wtedy z używania określenia Java 2 Platform. W roku 2010 pojawiła się kolejna wersja — 7 (1.7). Najnowsza w chwili opracowywania materiałów do tej książki była wersja 8 (czyli inaczej 1.8) z roku 2014. Dodatkowo JDK występuje w trzech osobnych edycjach: standardowej (ang. Standard Edition), dla dużych organizacji (ang. Enterprise Edition) i dla urządzeń mobilnych (ang. Mobile Edition); są one oznaczane skrótami SE, EE i ME. Określenie Java SE 8 oznacza w związku z tym platformę Java Standard Edition w wersji 8. Warto też zauważyć, że wewnętrzna numeracja narzędzi (widoczna np. w niektórych opcjach kompilatora javac) wciąż bazuje na „starej”, logicznej numeracji (Java 2 5.0 oznacza to samo co Java 1.5, Java 6 — to samo co Java 1.6, Java 7 — to samo co Java 1.7, a Java 8 — to samo co Java 1.8).

3

Java Runtime Environment — środowisko uruchomieniowe potrzebne do uruchamiania programów w Javie.

Java. Praktyczny kurs

w

w

w

.e

bo o

k4

al

l.p

l

8

Rozdział 1.

Podstawy



Przed wypłynięciem na szerokie wody programowania w Javie�eba zapoznać się z pod­ stawami. W tym rozdziale zostanie pokazane, jak wygląda �'b,.ra programu w Javie, czym jest i jak przeb�ega ko�p lacja ?ra� jak t pro�am . c?omić.. Prz�dstawione zostaną podstawy ob1ektowosc1, czyh naJważmeJS � d!u ma z dz1edzmy progra­ mowania obiektowego, oraz pojęcie typu danych. Z · · się tu także krótkie omówie­ eścić w progra­ ni� typów danych występujących w Javie. Okaż�i , jak sposób _ '-.w rme komentarz, co, wbrew pozorom, Jes zynnoscią, pomeważ pozwala na t dokumentowanie kodu, poprawia jego czy i ułatwia analizę.



��

��

� � ��





Czytelnicy, którzy znają podstawy p wania, mogą spokojnie pominąć ten roz­ dział i przejść do drugiego, aby��' jak w Javie wyglądają typowe konstrukcje programistyczne, takie jak pęt��trukcje warunkowe, deklaracje zmiennych oraz tablice. Natomiast osoby, które\c:W#ero zaczynają swoją przygodę z programowaniem, powinny przeczytać ten r ziAł dokładnie- nie jest on długi i stanowi wprowadzeię przejmować, jeśli nie wszystko od razu będzie całkiem nie w świat Javy. Nie jasne. Z wieloma P. ·ami i konstrukcjami programistycznymi trzeba się po prostu oswoić, wyko tyczne przykłady. Temu przecież służy ta książka.



�p

Instalacja JDK Aby móc wykonywać prezentowane w książce przykłady, trzeba najpierw zainstalo­ wać w systemie pakiet programistyczny nazywany JDK, czyli Java Development Kit. Instalacja przebiega typowo, tak jak w przypadku dowolnej innej aplikacji dla danego systemu operacyjnego, więc nikomu z pewnością nie przysporzy problemów. Poniżej znajdują się krótkie opisy tego procesu dla JDK 8 i systemów Windows oraz Linux.

10

Java. Praktyczny kurs

Instalacja w systemie Windows W chwilę po uruchomieniu pliku instalacyjnego (np. jdk-8-windows-i586.exe dla JDK 81 lub jdk-1. 7.0.windows-i586.exe dla JDK 7; są dostępne pod adresami podanymi we wstę­ pie) na ekranie ukaże się okno startowe instalatora, w któ-rym należy kliknąć przycisk Next. Kolejne okno, widoczne na rysunku 1.1, pozwala na wybranie składników in­ stalacji oraz katalogu docelowego (standardowo C: \Program FilesVava!Jdkl.8.0). Po kliknięciu Next rozpocznie się właściwy proces instalacji. Rysunek 1.1.

Java SE Development Kit 8 - Custom Setup

Okno wyboru składnikó w JDK

�)ja a··

-.::::

ORACLE"

V

-

---

-

------

Select optional feab.Jres to install from the list below, You can change your choice of feab.Jres after installation by using the Add/Remove Programs ulility in the eontroi Panel



Fe

e Descriplion

velopment Kit 8, g e JavaFX SDK" a JRE, and the Java eontroi mols suite, lhis l ill require 180MB on your hard drive. J

Source eode Public: JRE

S

lnstall to: c,�mg