Java. Przewodnik dla początkujących - ebook
Java. Przewodnik dla początkujących - ebook
Java jest ceniona przez programistów za dojrzałość i nowoczesność. Jako jeden z nielicznych języków miała zasadniczy wpływ na ewolucję programowania i określenie standardów tworzenia kodu. Cały czas jest dynamicznie rozwijana i od lat pozostaje w awangardzie innowacyjności. Na uwagę zasługuje wszechstronność Javy: to język, który pozwala na tworzenie stron WWW, aplikacji webowych, mobilnych oraz wysoko specjalistycznego oprogramowania dla przeróżnych urządzeń technicznych. Jest to możliwe między innymi dzięki licznym bibliotekom i narzędziom wspierającym proces kodowania. Mimo upływu lat Java wciąż pozostaje bardzo mądrym wyborem dla przyszłych deweloperów.
Ta książka jest ósmym wydaniem znakomitego podręcznika programowania dla początkujących, starannie zaktualizowanym i uzupełnionym o informacje dotyczące edycji 11. Zawiera podstawową wiedzę o kompilacji i uruchamianiu programu w Javie oraz o słowach kluczowych i istotnych konstrukcjach w tym języku ? to na początek. Potem krok po kroku przedstawia kolejne, coraz bardziej zaawansowane zagadnienia dotyczące obiektów, dziedziczenia czy wyjątków, a także współbieżności, typów sparametryzowanych, wyrażeń lambda oraz modułów. Poszczególne partie materiału zostały bogato uzupełnione przykładami kodu z komentarzami, jak również praktycznymi ćwiczeniami, testami sprawdzającymi, wskazówkami i dodatkowymi informacjami. Podręcznik jest przejrzysty, napisany jasnym i zrozumiałym językiem, co zdecydowanie ułatwia naukę.
W tej książce między innymi:
- solidne podstawy Javy i programowania obiektowego
- operacje wejścia-wyjścia oraz obsługa wyjątków
- programowanie wielowątkowe
- zagadnienia zaawansowane: wyrażenia lambda i referencje metod
- moduły, usługi i biblioteka Swing
Java: zdobądź kluczowe umiejętności i utrwal najlepsze nawyki programisty!
Spis treści
- O autorze
- O redaktorze merytorycznym
- Wstęp
- Ewolucja Javy
- Struktura tej książki
- Kluczowe umiejętności i koncepcje
- Test sprawdzający
- Ekspert odpowiada
- Przykłady i projekty
- Doświadczenie nie jest wymagane
- Wymagane oprogramowanie
- Nie zapomnij: kod dostępny w sieci
- Podziękowania
- Materiały do dalszej nauki
- Rozdział 1. Podstawy Javy
- Historia i filozofia Javy
- Pochodzenie Javy
- Java a języki C i C++
- Wpływ Javy na Internet
- Java uprościła programowanie aplikacji internetowych
- Aplety Javy
- Bezpieczeństwo
- Przenośność
- Magiczny kod bajtowy
- Coś więcej niż aplety
- Szybszy harmonogram udostępniania
- Terminologia Javy
- Programowanie obiektowe
- Hermetyzacja
- Polimorfizm
- Dziedziczenie
- Java Development Kit
- Pierwszy prosty program
- Wprowadzenie tekstu programu
- Kompilowanie programu
- Pierwszy program wiersz po wierszu
- Obsługa błędów składni
- Drugi prosty program
- Inne typy danych
- Dwie instrukcje sterujące
- Instrukcja if
- Pętla for
- Bloki kodu
- Średnik i pozycja kodu w wierszu
- Wcięcia
- Słowa kluczowe języka Java
- Identyfikatory
- Biblioteki klas
- Test sprawdzający
- Historia i filozofia Javy
- Rozdział 2. Typy danych i operatory
- Dlaczego typy danych są tak ważne
- Typy proste
- Typy całkowite
- Typy zmiennoprzecinkowe
- Znaki
- Typ logiczny
- Literały
- Literały szesnastkowe, ósemkowe i binarne
- Specjalne sekwencje znaków
- Literały łańcuchowe
- Zmienne
- Inicjalizacja zmiennej
- Dynamiczna inicjalizacja
- Zasięg deklaracji i czas istnienia zmiennych
- Operatory
- Operatory arytmetyczne
- Inkrementacja i dekrementacja
- Operatory relacyjne i logiczne
- Warunkowe operatory logiczne
- Operator przypisania
- Skrótowe operatory przypisania
- Konwersje typów w instrukcjach przypisania
- Rzutowanie typów niezgodnych
- Priorytet operatorów
- Wyrażenia
- Konwersja typów w wyrażeniach
- Odstępy i nawiasy
- Test sprawdzający
- Rozdział 3. Instrukcje sterujące
- Wprowadzanie znaków z klawiatury
- Instrukcja if
- Zagnieżdżanie instrukcji if
- Drabinka if-else-if
- Instrukcja switch
- Zagnieżdżanie instrukcji switch
- Pętla for
- Wariacje na temat pętli for
- Brakujące elementy
- Pętla nieskończona
- Pętle bez ciała
- Deklaracja zmiennych sterujących wewnątrz pętli
- Rozszerzona pętla for
- Pętla while
- Pętla do-while
- Przerywanie pętli instrukcją break
- Zastosowanie break jako formy goto
- Zastosowanie instrukcji continue
- Pętle zagnieżdżone
- Test sprawdzający
- Rozdział 4. Wprowadzenie do klas, obiektów i metod
- Podstawy klas
- Ogólna postać klasy
- Definiowanie klasy
- Jak powstają obiekty
- Referencje obiektów i operacje przypisania
- Metody
- Dodajemy metodę do klasy Vehicle
- Powrót z metody
- Zwracanie wartości
- Stosowanie parametrów
- Dodajemy sparametryzowaną metodę do klasy Vehicle
- Konstruktory
- Konstruktory z parametrami
- Dodajemy konstruktor do klasy Vehicle
- Operator new
- Odzyskiwanie pamięci
- Słowo kluczowe this
- Test sprawdzający
- Podstawy klas
- Rozdział 5. Więcej typów danych i operatorów
- W tym rozdziale poznasz:
- Tablice
- Tablice jednowymiarowe
- Tablice wielowymiarowe
- Tablice dwuwymiarowe
- Tablice nieregularne
- Tablice o trzech i więcej wymiarach
- Inicjalizacja tablic wielowymiarowych
- Alternatywna składnia deklaracji tablic
- Przypisywanie referencji tablic
- Wykorzystanie składowej length
- Styl for-each pętli for
- Iteracje w tablicach wielowymiarowych
- Zastosowania rozszerzonej pętli for
- Łańcuchy znaków
- Tworzenie łańcuchów
- Operacje na łańcuchach
- Tablice łańcuchów
- Łańcuchy są niezmienne
- Stosowanie łańcuchów do sterowania instrukcją switch
- Wykorzystanie argumentów wywołania programu
- Stosowanie wnioskowania typów w zmiennych lokalnych
- Wnioskowanie typów zmiennych lokalnych w przypadku typów referencyjnych
- Stosowanie wnioskowania typów zmiennych lokalnych w pętlach
- Ograniczenia var
- Operatory bitowe
- Operatory bitowe AND, OR, XOR i NOT
- Operatory przesunięcia
- Skrótowe bitowe operatory przypisania
- Operator ?
- Test sprawdzający
- Rozdział 6. Więcej o metodach i klasach
- Kontrola dostępu do składowych klasy
- Modyfikatory dostępu w Javie
- Przekazywanie obiektów do metod
- Sposób przekazywania argumentów
- Zwracanie obiektów
- Przeciążanie metod
- Przeciążanie konstruktorów
- Rekurencja
- Słowo kluczowe static
- Bloki static
- Klasy zagnieżdżone i klasy wewnętrzne
- Zmienne liczby argumentów
- Metody o zmiennej liczbie argumentów
- Przeciążanie metod o zmiennej liczbie argumentów
- Zmienna liczba argumentów i niejednoznaczność
- Test sprawdzający
- Kontrola dostępu do składowych klasy
- Rozdział 7. Dziedziczenie
- Podstawy dziedziczenia
- Dostęp do składowych a dziedziczenie
- Konstruktory i dziedziczenie
- Użycie słowa kluczowego super do wywołania konstruktora klasy bazowej
- Użycie słowa kluczowego super do dostępu do składowych klasy bazowej
- Wielopoziomowe hierarchie klas
- Kiedy wywoływane są konstruktory?
- Referencje klasy bazowej i obiekty klasy pochodnej
- Przesłanianie metod
- Przesłanianie metod i polimorfizm
- Po co przesłaniać metody?
- Zastosowanie przesłaniania metod w klasie TwoDShape
- Klasy abstrakcyjne
- Słowo kluczowe final
- final zapobiega przesłanianiu
- final zapobiega dziedziczeniu
- Użycie final dla zmiennych składowych
- Klasa Object
- Test sprawdzający
- Rozdział 8. Pakiety i interfejsy
- Pakiety
- Definiowanie pakietu
- Wyszukiwanie pakietów i zmienna CLASSPATH
- Prosty przykład pakietu
- Pakiety i dostęp do składowych
- Przykład dostępu do pakietu
- Składowe chronione
- Import pakietów
- Biblioteka klas Java używa pakietów
- Interfejsy
- Implementacje interfejsów
- Referencje interfejsu
- Zmienne w interfejsach
- Interfejsy mogą dziedziczyć
- Domyślne metody interfejsów
- Podstawowe informacje o metodach domyślnych
- Praktyczny przykład metody domyślnej
- Problemy wielokrotnego dziedziczenia
- Stosowanie metod statycznych w interfejsach
- Stosowanie metod prywatnych w interfejsach
- Ostatnie uwagi o pakietach i interfejsach
- Test sprawdzający
- Pakiety
- Rozdział 9. Obsługa wyjątków
- Hierarchia wyjątków
- Podstawy obsługi wyjątków
- Słowa kluczowe try i catch
- Prosty przykład wyjątku
- Konsekwencje nieprzechwycenia wyjątku
- Wyjątki umożliwiają obsługę błędów
- Użycie wielu klauzul catch
- Przechwytywanie wyjątków klas pochodnych
- Zagnieżdżanie bloków try
- Generowanie wyjątku
- Powtórne generowanie wyjątku
- Klasa Throwable
- Klauzula finally
- Użycie klauzuli throws
- Trzy dodatkowe możliwości wyjątków
- Wyjątki wbudowane w Javę
- Tworzenie klas pochodnych wyjątków
- Test sprawdzający
- Rozdział 10. Obsługa wejścia i wyjścia
- Strumienie wejścia i wyjścia
- Strumienie bajtowe i strumienie znakowe
- Klasy strumieni bajtowych
- Klasy strumieni znakowych
- Strumienie predefiniowane
- Używanie strumieni bajtowych
- Odczyt wejścia konsoli
- Zapis do wyjścia konsoli
- Odczyt i zapis plików za pomocą strumieni bajtowych
- Odczyt z pliku
- Zapis w pliku
- Automatyczne zamykanie pliku
- Odczyt i zapis danych binarnych
- Pliki o dostępie swobodnym
- Strumienie znakowe
- Odczyt konsoli za pomocą strumieni znakowych
- Odczyt znaków
- Wczytywanie łańcuchów
- Obsługa wyjścia konsoli za pomocą strumieni znakowych
- Odczyt konsoli za pomocą strumieni znakowych
- Obsługa plików za pomocą strumieni znakowych
- Klasa FileWriter
- Klasa FileReader
- Zastosowanie klas opakowujących do konwersji łańcuchów numerycznych
- Test sprawdzający
- Rozdział 11. Programowanie wielowątkowe
- Podstawy wielowątkowości
- Klasa Thread i interfejs Runnable
- Tworzenie wątku
- Usprawnienie i dwie modyfikacje
- Tworzenie wielu wątków
- Jak ustalić, kiedy wątek zakończył działanie?
- Priorytety wątków
- Synchronizacja
- Synchronizacja metod
- Synchronizacja instrukcji
- Komunikacja międzywątkowa
- Przykład użycia metod wait() i notify()
- Wstrzymywanie, wznawianie i kończenie działania wątków
- Test sprawdzający
- Rozdział 12. Typy wyliczeniowe, automatyczne opakowywanie, import składowych statycznych i adnotacje
- Wyliczenia
- Podstawy wyliczeń
- Wyliczenia są klasami
- Metody values() i valueOf()
- Konstruktory, metody, zmienne instancji a wyliczenia
- Dwa ważne ograniczenia
- Typy wyliczeniowe dziedziczą po klasie Enum
- Automatyczne opakowywanie
- Typy opakowujące
- Podstawy automatycznego opakowywania
- Automatyczne opakowywanie i metody
- Automatyczne opakowywanie i wyrażenia
- Przestroga
- Import składowych statycznych
- Adnotacje (metadane)
- Test sprawdzający
- Wyliczenia
- Rozdział 13. Typy sparametryzowane
- Podstawy typów sparametryzowanych
- Prosty przykład typów sparametryzowanych
- Parametryzacja dotyczy tylko typów obiektowych
- Typy sparametryzowane różnią się dla różnych argumentów
- Klasa sparametryzowana o dwóch parametrach
- Ogólna postać klasy sparametryzowanej
- Ograniczanie typów
- Stosowanie argumentów wieloznacznych
- Ograniczanie argumentów wieloznacznych
- Metody sparametryzowane
- Konstruktory sparametryzowane
- Interfejsy sparametryzowane
- Typy surowe i tradycyjny kod
- Wnioskowanie typów i operator diamentowy
- Wnioskowanie typów zmiennych lokalnych a typy sparametryzowane
- Wymazywanie
- Błędy niejednoznaczności
- Ograniczenia związane z typami sparametryzowanymi
- Zakaz tworzenia instancji parametru typu
- Ograniczenia dla składowych statycznych
- Ograniczenia tablic sparametryzowanych
- Ograniczenia związane z wyjątkami
- Dalsze studiowanie typów sparametryzowanych
- Test sprawdzający
- Rozdział 14. Wyrażenia lambda i referencje metod
- Przedstawienie wyrażeń lambda
- Podstawowe informacje o wyrażeniach lambda
- Interfejsy funkcyjne
- Wyrażenia lambda w działaniu
- Blokowe wyrażenia lambda
- Sparametryzowane interfejsy funkcyjne
- Wyrażenia lambda i przechwytywanie zmiennych
- Zgłaszanie wyjątków w wyrażeniach lambda
- Referencje metod
- Referencje metod statycznych
- Referencje metod instancyjnych
- Referencje konstruktorów
- Predefiniowane interfejsy funkcyjne
- Test sprawdzający
- Przedstawienie wyrażeń lambda
- Rozdział 15. Moduły
- Podstawowe informacje o modułach
- Przykład prostego modułu
- Kompilowanie i uruchamianie przykładowej aplikacji
- Dokładniejsze informacje o instrukcjach requires i exports
- java.base i moduły platformy
- Stary kod i moduł nienazwany
- Eksportowanie do konkretnego modułu
- Wymagania przechodnie
- Stosowanie usług
- Podstawowe informacje o usługach i dostawcach usług
- Słowa kluczowe związane z usługami
- Przykład stosowania usług i modułów
- Interfejsy usługi
- Klasy implementacji
- Pliki definicji modułów
- Prezentacja użycia dostawców usługi w aplikacji MyModAppDemo
- Kompilowanie i uruchamianie modularnej aplikacji korzystającej z usług
- Dodatkowe cechy modułów
- Moduły otwarte
- Instrukcja opens
- requires static
- Dalsze samodzielne poznawanie modułów
- Test sprawdzający
- Podstawowe informacje o modułach
- Rozdział 16. Wprowadzenie do biblioteki Swing
- Pochodzenie i filozofia Swing
- Komponenty i kontenery
- Komponenty
- Kontenery
- Panele kontenerów szczytowych
- Menedżery układu
- Pierwszy program wykorzystujący Swing
- Pierwszy program Swing wiersz po wierszu
- Obsługa zdarzeń w Swing
- Zdarzenia
- Źródła zdarzeń
- Obiekty nasłuchujące
- Klasy zdarzeń i interfejsy obiektów nasłuchujących
- Komponent JButton
- Komponent JTextField
- Komponent JCheckBox
- Komponent JList
- Wykorzystanie anonimowych klas wewnętrznych lub wyrażeń lambda do obsługi zdarzeń
- Test sprawdzający
- Dodatek A Rozwiązania testów sprawdzających
- Rozdział 1. Podstawy Javy
- Rozdział 2. Typy danych i operatory
- Rozdział 3. Instrukcje sterujące
- Rozdział 4. Wprowadzenie do klas, obiektów i metod
- Rozdział 5. Więcej typów danych i operatorów
- Rozdział 6. Więcej o metodach i klasach
- Rozdział 7. Dziedziczenie
- Rozdział 8. Pakiety i interfejsy
- Rozdział 9. Obsługa wyjątków
- Rozdział 10. Obsługa wejścia i wyjścia
- Rozdział 11. Programowanie wielowątkowe
- Rozdział 12. Typy wyliczeniowe, automatyczne opakowywanie, import składowych statycznych i adnotacje
- Rozdział 13. Typy sparametryzowane
- Rozdział 14. Wyrażenia lambda i referencje metod
- Rozdział 15. Moduły
- Rozdział 16. Wprowadzenie do Swing
- Dodatek B Komentarze dokumentacyjne
- Znaczniki javadoc
- @author
- {@code}
- @deprecated
- {@docRoot}
- @exception
- @hidden
- {@index}
- {@inheritDoc}
- {@link}
- {@linkplain}
- {@literal}
- @param
- @provides
- @return
- @see
- @since
- {@summary}
- @throws
- @uses
- {@value}
- @version
- Ogólna postać komentarza dokumentacyjnego
- Wynik działania programu javadoc
- Przykład użycia komentarzy dokumentacyjnych
- Znaczniki javadoc
- Dodatek C Kompiluj i uruchamiaj proste programy w jednym kroku
- Dodatek D Wprowadzenie do JShell
- Podstawy JShell
- Wyświetlanie, edycja i ponowne wykonywanie kodu
- Dodanie metody
- Utworzenie klasy
- Stosowanie interfejsu
- Przetwarzanie wyrażeń i wbudowane zmienne
- Importowanie pakietów
- Wyjątki
- Inne polecenia JShell
- Dalsze poznawanie możliwości JShell
- Dodatek E Więcej słów kluczowych języka Java
- Modyfikatory transient i volatile
- instanceof
- strictfp
- assert
- Metody rodzime
- Inna postać this
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-9119-2 |
Rozmiar pliku: | 3,8 MB |