Java 8 Przewodnik doswiadczonego programisty.pdf

(1038 KB) Pobierz
Tytuł oryginału: Core Java® for the Impatient
Tłumaczenie: Andrzej Stefański
Projekt okładki: Studio Gravite / Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
ISBN: 978-83-283-1333-0
Authorized translation from the English language edition, entitled: CORE JAVA FOR THE IMPATIENT;
ISBN 0321996321; by Cay S. Horstmann; published by Pearson Education, Inc, publishing as Addison
Wesley.
Copyright © 2015 Pearson Education, Inc.
All rights reserved. No part of this book may by reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education, Inc.
Polish language edition published by HELION S.A. Copyright © 2015.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock Images LLC.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/jav8pd.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/jav8pd
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Wst p ........................................................................................................................................................15
Podzi kowania .........................................................................................................................................17
O autorze ..................................................................................................................................................19
Rozdzia 1. Podstawowe struktury programistyczne ...........................................................................21
1.1.
Nasz pierwszy program ................................................................................... 22
1.1.1. Analiza programu „Witaj, wiecie!” ...................................................... 22
1.1.2. Kompilacja i uruchamianie programu w j zyku Java ............................... 24
1.1.3. Wywo ania metod ............................................................................... 25
Typy proste .................................................................................................... 27
1.2.1. Typy ca kowite ................................................................................... 27
1.2.2. Typy zmiennoprzecinkowe ................................................................... 28
1.2.3. Typ char ............................................................................................ 29
1.2.4. Typ boolean ....................................................................................... 30
Zmienne ........................................................................................................ 30
1.3.1. Deklaracje zmiennych ......................................................................... 30
1.3.2. Nazwy ............................................................................................... 31
1.3.3. Inicjalizacja ........................................................................................ 31
1.3.4. Sta e ................................................................................................. 31
Dzia ania arytmetyczne .................................................................................... 33
1.4.1. Przypisanie ........................................................................................ 33
1.4.2. Podstawowa arytmetyka ..................................................................... 34
1.4.3. Metody matematyczne ........................................................................ 35
1.4.4. Konwersja typów liczbowych ................................................................ 36
1.4.5. Operatory relacji i operatory logiczne .................................................... 37
1.4.6. Du e liczby ........................................................................................ 39
Ci gi znaków .................................................................................................. 39
1.5.1.
czenie ci gów znaków ..................................................................... 40
1.5.2. Wycinanie ci gów znaków ................................................................... 40
1.5.3. Porównywanie ci gów znaków ............................................................. 41
1.5.4. Konwersja liczb na znaki i znaków na liczby .......................................... 42
1.5.5. API klasy String .................................................................................. 43
1.5.6. Kodowanie znaków w j zyku Java ........................................................ 44
1.2.
1.3.
1.4.
1.5.
Kup książkę
Poleć książkę
6
Java 8. Przewodnik do wiadczonego programisty
Wej cie i wyj cie ............................................................................................ 46
1.6.1. Wczytywanie danych wej ciowych ........................................................ 46
1.6.2. Formatowanie generowanych danych ................................................... 47
1.7.
Kontrola przep ywu ......................................................................................... 49
1.7.1. Instrukcje warunkowe ......................................................................... 49
1.7.2. P tle ................................................................................................. 51
1.7.3. Przerywanie i kontynuacja ................................................................... 52
1.7.4. Zasi g zmiennych lokalnych ................................................................ 54
1.8.
Tablice i listy tablic ......................................................................................... 55
1.8.1. Obs uga tablic ................................................................................... 55
1.8.2. Tworzenie tablicy ................................................................................ 56
1.8.3. Klasa ArrayList .................................................................................. 57
1.8.4. Klasy opakowuj ce typy proste ............................................................ 58
1.8.5. Rozszerzona p tla for ......................................................................... 59
1.8.6. Kopiowanie tablic i obiektów ArrayList ................................................. 59
1.8.7. Algorytmy tablic ................................................................................. 60
1.8.8. Parametry wiersza polece ................................................................. 61
1.8.9. Tablice wielowymiarowe ...................................................................... 62
1.9.
Dekompozycja funkcjonalna ............................................................................. 64
1.9.1. Deklarowanie i wywo ywanie metod statycznych .................................... 64
1.9.2. Parametry tablicowe i zwracane warto ci .............................................. 65
1.9.3. Zmienna liczba parametrów ................................................................ 65
wiczenia .................................................................................................................... 66
1.6.
Rozdzia 2. Programowanie obiektowe ................................................................................................. 69
2.1.
Praca z obiektami ........................................................................................... 70
2.1.1. Metody dost powe i modyfikuj ce ....................................................... 72
2.1.2. Referencje do obiektu ........................................................................ 72
Implementowanie klas .................................................................................... 74
2.2.1. Zmienne instancji .............................................................................. 74
2.2.2. Nag ówki metod ................................................................................. 75
2.2.3. Tre ci metod ..................................................................................... 75
2.2.4. Wywo ania metod instancji .................................................................. 76
2.2.5. Referencja this .................................................................................. 76
2.2.6. Wywo anie przez warto
.................................................................... 77
Tworzenie obiektów ........................................................................................ 78
2.3.1. Implementacja konstruktorów ............................................................. 78
2.3.2. Przeci anie ...................................................................................... 79
2.3.3. Wywo ywanie jednego konstruktora z innego ......................................... 80
2.3.4. Domy lna inicjalizacja ........................................................................ 80
2.3.5. Inicjalizacja zmiennych instancji .......................................................... 81
2.3.6. Zmienne instancji z modyfikatorem final .............................................. 81
2.3.7. Konstruktor bez parametrów ............................................................... 82
Statyczne zmienne i metody ............................................................................ 83
2.4.1. Zmienne statyczne ............................................................................. 83
2.4.2. Sta e statyczne .................................................................................. 83
2.4.3. Statyczne bloki inicjalizacyjne .............................................................. 84
2.4.4. Metody statyczne ............................................................................... 85
2.4.5. Metody wytwórcze .............................................................................. 86
2.2.
2.3.
2.4.
Kup książkę
Poleć książkę
Spis tre ci
2.5.
7
Pakiety .......................................................................................................... 86
2.5.1. Deklarowanie pakietów ....................................................................... 87
2.5.2.
cie ka klas ...................................................................................... 88
2.5.3. Zasi g pakietu ................................................................................... 90
2.5.4. Importowanie klas .............................................................................. 91
2.5.5. Import metod statycznych ................................................................... 92
2.6.
Klasy zagnie d one ......................................................................................... 92
2.6.1. Statyczne klasy zagnie d one .............................................................. 92
2.6.2. Klasy wewn trzne .............................................................................. 94
2.6.3. Specjalne regu y sk adni dla klas wewn trznych .................................... 96
2.7.
Komentarze do dokumentacji .......................................................................... 97
2.7.1. Wstawianie komentarzy ...................................................................... 97
2.7.2. Komentarze klasy .............................................................................. 98
2.7.3. Komentarze metod ............................................................................. 98
2.7.4. Komentarze zmiennych ....................................................................... 99
2.7.5. Ogólne komentarze ............................................................................ 99
2.7.6. Odno niki .......................................................................................... 99
2.7.7. Opisy pakietów i ogólne .................................................................... 100
2.7.8. Wycinanie komentarzy ...................................................................... 101
wiczenia .................................................................................................................. 101
Rozdzia 3. Interfejsy i wyra enia lambda ...........................................................................................105
3.1.
Interfejsy ..................................................................................................... 106
3.1.1. Deklarowanie interfejsu .................................................................... 106
3.1.2. Implementowanie interfejsu .............................................................. 107
3.1.3. Konwersja do typu interfejsu ............................................................. 108
3.1.4. Rzutowanie i operator instanceof ...................................................... 109
3.1.5. Rozszerzanie interfejsów .................................................................. 110
3.1.6. Implementacja wielu interfejsów ........................................................ 110
3.1.7. Sta e ............................................................................................... 110
Metody statyczne i domy lne ......................................................................... 111
3.2.1. Metody statyczne ............................................................................. 111
3.2.2. Metody domy lne ............................................................................. 111
3.2.3. Rozstrzyganie konfliktów metod domy lnych ....................................... 112
Przyk ady interfejsów ..................................................................................... 114
3.3.1. Interfejs Comparable ........................................................................ 114
3.3.2. Interfejs Comparator ........................................................................ 115
3.3.3. Interfejs Runnable ............................................................................ 116
3.3.4. Wywo ania zwrotne interfejsu u ytkownika .......................................... 117
Wyra enia lambda ........................................................................................ 118
3.4.1. Sk adnia wyra e lambda ................................................................. 118
3.4.2. Interfejsy funkcyjne .......................................................................... 119
Referencje do metod i konstruktora ............................................................... 120
3.5.1. Referencje do metod ........................................................................ 121
3.5.2. Referencje konstruktora ................................................................... 122
Przetwarzanie wyra e lambda ....................................................................... 123
3.6.1. Implementacja odroczonego wykonania ............................................. 123
3.6.2. Wybór interfejsu funkcjonalnego ........................................................ 124
3.6.3. Implementowanie w asnych interfejsów funkcjonalnych ....................... 125
Wyra enia lambda i zasi g zmiennych ............................................................ 126
3.7.1. Zasi g zmiennej lambda ................................................................... 126
3.7.2. Dost p do zmiennych zewn trznych ................................................... 127
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin