Promocja!

JAVA PRZEWODNIK DLA POCZĄTKUJĄCYCH WYD.9

Original price was: 129.00zł.Current price is: 116.11zł.

Na stanie

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

Autor

ISBN

978-83-289-0479-8

Liczba stron

Rok wydania

Wydawca

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „JAVA PRZEWODNIK DLA POCZĄTKUJĄCYCH WYD.9”

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *