reklama - zainteresowany?

Java. Przewodnik dla pocz - Helion

Java. Przewodnik dla pocz
ebook
Autor: Herbert Schildt
Tytuł oryginału: Java: A Beginner's Guide, Ninth Edition
Tłumaczenie: Piotr Rajca
ISBN: 978-83-289-0484-2
stron: 576, Format: ebook
Księgarnia: Helion

Cena książki: 129,00 zł

Książka będzie dostępna od stycznia 2024

Tagi: Java - Programowanie

Java ca

Spis treści

Java. Przewodnik dla początkujących. Wydanie IX eBook -- spis treści

O autorze

O redaktorze merytorycznym

Wstęp

1. Podstawy Javy

  • Historia i filozofia Javy
    • Pochodzenie Javy
    • Java a języki C i C++
    • Wpływ Javy na Internet
    • 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
  • Przykład 1.1. Zamiana galonów na litry
  • Dwie instrukcje sterujące
    • Instrukcja if
    • Pętla for
  • Bloki kodu
  • Średnik i pozycja kodu w wierszu
  • Wcięcia
  • Przykład 1.2. Ulepszony konwerter galonów na litry
  • Słowa kluczowe języka Java
  • Identyfikatory
  • Biblioteki klas
  • Test sprawdzający

2. Typy danych i operatory

  • Dlaczego typy danych są tak ważne
  • Typy proste
    • Typy całkowite
    • Typy zmiennoprzecinkowe
    • Znaki
  • Typ logiczny
  • Przykład 2.1. Jak daleko uderzył piorun?
  • 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
  • Przykład 2.2. Tabela prawdy dla operatorów logicznych
  • Wyrażenia
    • Konwersja typów w wyrażeniach
    • Odstępy i nawiasy
  • Test sprawdzający

3. Instrukcje sterujące

  • Wprowadzanie znaków z klawiatury
  • Instrukcja if
  • Zagnieżdżanie instrukcji if
  • Drabinka if-else-if
  • Tradycyjna instrukcja switch
  • Zagnieżdżanie instrukcji switch
  • Przykład 3.1. Rozpoczynamy budowę systemu pomocy
  • 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
  • Przykład 3.2. Ulepszamy system pomocy
  • Przerywanie pętli instrukcją break
  • Zastosowanie break jako formy goto
  • Zastosowanie instrukcji continue
  • Przykład 3.3. Końcowa wersja systemu pomocy
  • Pętle zagnieżdżone
  • Test sprawdzający

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
  • Przykład 4.1. System pomocy jako klasa
  • Konstruktory
  • Konstruktory z parametrami
  • Dodajemy konstruktor do klasy Vehicle
  • Operator new
  • Odzyskiwanie pamięci
  • Słowo kluczowe this
  • Test sprawdzający

5. Więcej typów danych i operatorów

  • Tablice
    • Tablice jednowymiarowe
  • Przykład 5.1. Sortowanie tablicy
  • 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
  • Przykład 5.2. Klasa Queue
  • 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
  • Przykład 5.3. Klasa ShowBits
  • Operator ?
  • Test sprawdzający

6. Więcej o metodach i klasach

  • Kontrola dostępu do składowych klasy
    • Modyfikatory dostępu w Javie
  • Przykład 6.1. Ulepszamy klasę Queue
  • Przekazywanie obiektów do metod
    • Sposób przekazywania argumentów
  • Zwracanie obiektów
  • Przeciążanie metod
  • Przeciążanie konstruktorów
  • Przykład 6.2. Przeciążamy konstruktor klasy Queue
  • Rekurencja
  • Słowo kluczowe static
    • Bloki static
  • Przykład 6.3. Algorytm Quicksort
  • 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

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
  • Przykład 7.1. Tworzymy hierarchię klas Vehicle
  • 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

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
  • Przykład 8.1. Tworzymy interfejs Queue
  • 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

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
  • Przykład 9.1. Wprowadzamy wyjątki w klasie Queue
  • Test sprawdzający

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
  • Przykład 10.1. Narzędzie do porównywania plików
  • Pliki o dostępie swobodnym
  • Strumienie znakowe
    • Odczyt konsoli za pomocą strumieni znakowych
    • Obsługa wyjścia 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
  • Przykład 10.2. System pomocy wykorzystujący pliki
  • Test sprawdzający

11. Programowanie wielowątkowe

  • Podstawy wielowątkowości
  • Klasa Thread i interfejs Runnable
  • Tworzenie wątku
    • Usprawnienie i dwie modyfikacje
  • Przykład 11.1. Tworzymy klasę pochodną klasy Thread
  • 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
  • Przykład 11.2. Wykorzystanie głównego wątku
  • Test sprawdzający

12. Typy wyliczeniowe, automatyczne opakowywanie, adnotacje i inne zagadnienia

  • 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
  • Przykład 12.1. Komputerowo sterowana sygnalizacja świetlna
  • Automatyczne opakowywanie
  • Typy opakowujące
  • Podstawy automatycznego opakowywania
  • Automatyczne opakowywanie i metody
  • Automatyczne opakowywanie i wyrażenia
    • Przestroga
  • Import składowych statycznych
  • Adnotacje (metadane)
  • Prezentacja operatora instanceof
  • Test sprawdzający

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
  • Przykład 13.1. Sparametryzowana klasa Queue
  • 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

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
  • Przykład 14.1. Przekazywanie wyrażenia lambda jako argumentu
  • 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

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
  • Przykład 15.1. Eksperymenty z instrukcją requires transitive
  • 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
  • Dodatkowe cechy modułów
    • Moduły otwarte
    • Instrukcja opens
    • requires static
  • Dalsze samodzielne poznawanie modułów
  • Test sprawdzający

16. Wyrażenia switch, rekordy oraz inne najnowsze możliwości języka

  • Rozszerzenia switch
    • Listy stałych
    • Wprowadzanie wyrażenia switch i instrukcji yield
    • Wprowadzenie strzałek do klauzul case
    • Dokładniejsza prezentacja zapisu ze strzałką
  • Przykład 16.1. Zastosowanie wyrażenia switch do określania strefy czasowej różnych miast
  • Rekordy
    • Podstawowe informacje o rekordach
    • Tworzenie konstruktorów rekordów
    • Tworzenie metod pobierających w rekordach
  • Dopasowywanie wzorców z użyciem operatora instanceof
  • Klasy i interfejsy zapieczętowane
    • Klasy zapieczętowane
    • Interfejsy zapieczętowane
  • Kierunki rozwoju
  • Test sprawdzający

17. 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
  • Przykład 17.1. Porównywanie plików - aplikacja Swing
  • Wykorzystanie anonimowych klas wewnętrznych lub wyrażeń lambda do obsługi zdarzeń
  • Test sprawdzający

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, adnotacje i inne zagadnienia
  • Rozdział 13. Typy sparametryzowane
  • Rozdział 14. Wyrażenia lambda i referencje metod
  • Rozdział 15. Moduły
  • Rozdział 16. Wyrażenia switch, rekordy oraz inne najnowsze możliwości języka
  • Rozdział 17. Wprowadzenie do biblioteki Swing

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

C. Kompiluj i uruchamiaj proste programy w jednym kroku

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

E. Więcej słów kluczowych języka Java

  • Modyfikatory transient i volatile
  • strictfp
  • assert
  • Metody rodzime
  • Inna postać this

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.