INNE EBOOKI AUTORA
Autor:
Wydawca:
Format:
epub, mobi, ibuk
Książka omawia konstrukcje oraz wybrane narzędzia języka Java przydatne we wszystkich rodzajach praktycznego programowania. Przeznaczona jest zarówno dla całkowicie początkujących programistów, jak i tych, którzy pragną rozwijać swoje umiejętności, a w szczególności zaznajomić się z ważnymi, nowymi elementami języka w wersji 8. W prezentacji elementów i narzędzi platformy Java czytelnik znajdzie odpowiedzi na pytania: co to jest? po co to jest? kiedy i jak to stosować? Kilkaset przykładowych kodów nie tylko ilustruje omawiane koncepcje, ale także w wielu przypadkach przedstawia rozwiązania praktycznych problemów. Czytelnik dowie się, jak: – budować klasy, implementować interfejsy, wykorzystywać polimorfizm, – przetwarzać tablice, kolekcje, pliki, napisy, daty, liczby, – programować współbieżnie, – stosować interfejsy funkcyjne i lambda-wyrażenia, – łatwo rozwiązywać praktyczne problemy z wykorzystaniem przetwarzania strumieniowego i technik filter-map-reduce. Nie są wymagane żadne wstępne wiadomości o programowaniu.
Rok wydania | 2014 |
---|---|
Liczba stron | 486 |
Kategoria | Programowanie |
Wydawca | Wydawnictwo Naukowe PWN |
ISBN-13 | 978-83-01-17823-9 |
Numer wydania | 1 |
Język publikacji | polski |
Informacja o sprzedawcy | ePWN sp. z o.o. |
INNE EBOOKI AUTORA
POLECAMY
Ciekawe propozycje
Spis treści
Wstęp | 9 |
1. Wprowadzenie | 13 |
1.1. O programowaniu i językach programowania | 15 |
1.2. Czym jest Java? | 19 |
1.2.1. Nowoczesny język programowania | 19 |
1.2.2. Wieloplatformowość i uniwersalność Javy | 20 |
1.3. Kilka słów o obiektowości | 21 |
1.4. Pierwszy program i kilka elementów składni | 22 |
2. Typy i operacje | 29 |
2.1. Literały i zmienne | 31 |
2.2. Pojęcie typu. Typy proste | 32 |
2.3. Typy i użycie literałów | 35 |
2.4. Typy zmiennych. Deklaracje | 40 |
2.5. Operatory i wyrażenia | 45 |
2.5.1. Przegląd | 45 |
2.5.2. Operatory przypisania | 47 |
2.5.3. Zwiększanie i zmniejszanie | 48 |
2.5.4. Dzielenie całkowite i reszta | 50 |
2.6. Konwersje arytmetyczne | 52 |
3. Definiowanie klas | 55 |
3.1. Do czego służą klasy? | 57 |
3.2. Definiowanie pól | 61 |
3.3. Definiowanie metod | 63 |
3.4. Definiowanie konstruktorów | 66 |
3.5. Przykład defi niowania klasy | 67 |
3.6. Składowe statyczne | 71 |
3.7. Przeciążanie metod i konstruktorów | 74 |
4. Programowanie z użyciem klas i obiektów | 77 |
4.1. Obiekty i referencje | 79 |
4.2. Anatomia klasy i zmienna this | 87 |
4.3. Zasięg identyfi katorów. Zmienne lokalne. Czas życia danych | 93 |
4.4. Pakiety i importy | 98 |
4.4.1. Pojecie pakietu | 98 |
4.4.2. Import | 100 |
4.4.3. Importy statyczne | 101 |
4.5. Struktura programu | 102 |
4.6. Krótko o dziedziczeniu | 108 |
4.7. Metody equals() i toString() | 116 |
4.8. Napisy | 119 |
4.9. Interakcja: wprowadzanie napisów i liczb, komunikaty | 123 |
4.10. Wyliczenia (enumeracje) | 128 |
5. Podejmowanie decyzji w programie | 133 |
5.1. Przegląd instrukcji sterujących | 135 |
5.2. Operatory i wyrażenia porównania | 138 |
5.3. Operatory i wyrażenia logiczne | 141 |
5.4. Instrukcje if oraz if-else | 144 |
5.5. Wielowariantowe wybory za pomocą instrukcji switch | 147 |
5.6. Operator warunkowy ?: | 153 |
5.7. Wyjątki | 154 |
5.7.1. Obsługa wyjątków | 154 |
5.7.2. Zgłaszanie wyjątków | 164 |
5.8. Iteracje | 167 |
5.8.1. Pojęcie pętli iteracyjnej | 167 |
5.8.2. Warunkowe pętle iteracyjne: instrukcje while i do...while | 170 |
5.8.3. Pętle iteracyjne o danej liczbie powtórzeń: instrukcja for | 174 |
5.8.4. Przerywanie i kontynuowanie pętli | 179 |
5.8.5. Przykład iteracji: wczytywanie danych z plików tekstowych za pomocą skanera | 182 |
6. Struktury danych | 185 |
6.1. Tablice | 187 |
6.1.1. Deklarowanie i tworzenie tablic w Javie | 187 |
6.1.2. Odwołania do elementów tablic | 190 |
6.1.3. Użycie zmiennych tablicowych w przypisaniach. Zmienne tablicowe jako argumenty i wyniki metod | 192 |
6.1.4. Rozszerzona instrukcja for dla tablic | 195 |
6.1.5. Metody ze zmienną liczbą argumentów | 198 |
6.1.6. Argumenty wiersza poleceń | 200 |
6.1.7. Tablice obiektów | 202 |
6.1.7.1. Tworzenie tablic zawierających referencje do obiektów | 202 |
6.1.7.2. Tablice heterogeniczne | 205 |
6.1.8. Tablice wielowymiarowe | 206 |
6.1.9. Wypełnianie i kopiowanie tablic | 207 |
6.2. Wprowadzenie do kolekcji | 208 |
6.2.1. Tworzenie, przeglądania i sortowanie kolekcji | 208 |
6.2.2. Proste przetwarzanie list i zbiorów | 214 |
6.2.3. Zbiory typu HashSet, metody hashCode() i equals() | 220 |
6.2.4. Kilka słów o kolejkach | 224 |
6.2.5. Mapy | 227 |
6.2.6. Kolekcje a tablice. Co dalej? | 232 |
7. Praktyka przetwarzania danych | 235 |
7.1. Elementy wejścia-wyjścia | 237 |
7.2. Działania na napisach | 246 |
7.2.1. Napisy modyfikowalne | 246 |
7.2.2. Metody klasy String | 250 |
7.2.3. Analiza składniowa tekstów i StringTokenizer | 255 |
7.2.4. Wyrażenia regularne | 258 |
7.2.5. Uproszczenia stosowania wyrażeń regularnych w klasach String i Scanner | 268 |
7.3. Opakowanie typów prostych i autoboxing | 276 |
7.4. Działania na liczbach | 281 |
7.4.1. Operacje na bitach | 281 |
7.4.2. Działania matematyczne | 284 |
7.5. Daty i czas | 290 |
7.5.1. Klasa Calendar i operacje na datach | 290 |
7.5.2. Daty i czas w Javie 8 – elementy nowego API | 295 |
7.6. Formatowanie liczb i dat | 301 |
7.7. Proste sortowanie i wyszukiwanie | 305 |
7.8. Rekurencja | 311 |
8. Programowanie obiektowe | 317 |
8.1. Abstrakcja i hermetyzacja. Klasy i obiekty niezmienne | 319 |
8.2. Inicjacje. Singletony | 324 |
8.3. Przedefi niowanie metod | 332 |
8.4. Metody wirtualne i polimorfi zm | 339 |
8.5. Metody i klasy abstrakcyjne | 344 |
8.6. Interfejsy | 346 |
8.6.1. Pojęcie i zastosowanie | 346 |
8.6.2. Metody domyślne interfejsów. Mixiny | 355 |
8.7. Klasy wewnętrzne | 357 |
8.8. Typy i metody sparametryzowane | 366 |
8.8.1. Defi niowanie typów sparametryzowanych. Typy surowe i czyszczenie typów | 366 |
8.8.2. Ograniczenia parametrów typu | 368 |
8.8.3. Restrykcje | 370 |
8.8.4. Metody sparametryzowane | 371 |
8.8.5. Uniwersalne argumenty typu | 372 |
8.9. Praktyczne zastosowania interfejsów i klas wewnętrznych | 376 |
8.9.1. Interfejsy kolekcyjne i ich implementacje | 376 |
8.9.2. Porównywanie i porządkowanie elementów kolekcji i tablic | 382 |
8.9.3. Iterowalne obiekty niekolekcyjne | 388 |
8.9.4. Wizytowanie drzew katalogowych | 390 |
9. Wstęp do programowania współbieżnego | 397 |
9.1. Podstawowe pojęcia: procesy i wątki | 399 |
9.2. Tworzenie wątków. Uruchamianie działań równoległych | 400 |
9.3. Zadania i wykonawcy | 404 |
9.4. Kończenie działania wątku | 410 |
9.5. Synchronizacja wątków | 416 |
9.6. Synchronizacja za pomocą jawnego ryglowania | 425 |
9.7. Koordynacja pracy wątków | 429 |
10. Elementy programowania funkcyjnego | 435 |
10.1. Wprowadzenie | 437 |
10.2. Interfejsy funkcyjne i lambda-wyrażenia | 442 |
10.3. Referencje do metod i konstruktorów | 450 |
10.4. Rodzaje i użycie gotowych interfejsów funkcyjnych | 452 |
10.5. Lambda-wyrażenia w gotowych metodach standardowych interfejsów i klas Javy | 461 |
10.6. Przetwarzanie strumieniowe | 467 |
Literatura | 483 |