Myśl w języku Java!

Book description

Oto zaktualizowane i uzupełnione wydanie znakomitego podręcznika dla początkujących, dzięki któremu zdobędziesz solidne podstawy informatyki i programowania w Javie. Wyjaśniono tu szereg skomplikowanych tematów, rozłożonych na mniejsze zagadnienia, z których każde zostało opatrzone zrozumiałymi przykładami. Książka zawiera mnóstwo ćwiczeń, które sprawią, że zaczniesz kreatywnie podchodzić do programowania, a odkrywanie relacji między danymi wejścia i wyjścia, klasami, metodami i obiektami przyniesie Ci prawdziwą satysfakcję. Duży nacisk położono na właściwe słownictwo i... właśnie tworzenie programów. Zapoznasz się więc z różnymi strategiami projektowania, pisania, testowania i debugowania programów. Liczne przykłady kodu, ćwiczenia, podsumowania, porady i wskazówki stanowią wspaniałe uzupełnienie prezentowanych treści.

Table of contents

  1. Wstęp
    1. Filozofia stojąca za tą książką
    2. Programowanie zorientowane obiektowo
    3. Zmiany w drugim wydaniu
    4. O dodatkach
    5. Używanie przykładowych kodów
    6. Konwencje zastosowane w książce
    7. Podziękowania
  2. Rozdział 1. Programowanie komputerowe
    1. Czym jest komputer?
    2. Czym jest programowanie?
    3. Program „Witaj, świecie!”
    4. Kompilowanie programów w języku Java
    5. Wyświetlanie dwóch komunikatów
    6. Formatowanie kodu źródłowego
    7. Używanie sekwencji ucieczki
    8. Czym jest informatyka?
    9. Debugowanie programów
    10. Słownictwo
    11. Ćwiczenia
  3. Rozdział 2. Zmienne i operatory
    1. Deklarowanie zmiennych
    2. Przypisywanie zmiennym wartości
    3. Diagramy pamięci
    4. Wyświetlanie wartości zmiennych
    5. Operatory arytmetyczne
    6. Liczby zmiennoprzecinkowe
    7. Błędy zaokrągleń
    8. Operatory działające na łańcuchach znakowych
    9. Komunikaty o błędzie kompilatora
    10. Inne rodzaje błędów
    11. Słownictwo
    12. Ćwiczenia
  4. Rozdział 3. Wejście i wyjście
    1. Klasa System
    2. Klasa Scanner
    3. Składniki języka
    4. Literały i stałe
    5. Formatowanie danych wyjściowych
    6. Czytanie komunikatów o błędzie
    7. Operatory rzutowania typu
    8. Operator reszty z dzielenia
    9. Łączenie wszystkiego w całość
    10. „Bug” w klasie Scanner
    11. Słownictwo
    12. Ćwiczenia
  5. Rozdział 4. Metody i testowanie
    1. Definiowanie nowych metod
    2. Przepływ wykonania
    3. Parametry i argumenty
    4. Wiele parametrów
    5. Diagramy stosu
    6. Metody matematyczne
    7. Kompozycja
    8. Wartości zwracane
    9. Programowanie przyrostowe
    10. Słownictwo
    11. Ćwiczenia
  6. Rozdział 5. Warunki i operacje logiczne
    1. Operatory relacyjne
    2. Instrukcja if-else
    3. Tworzenie łańcuchów i zagnieżdżanie
    4. Instrukcja switch
    5. Operatory logiczne
    6. Prawa De Morgana
    7. Zmienne logiczne (boolowskie)
    8. Metody typu boolean
    9. Walidacja danych wejściowych
    10. Przykładowy program
    11. Słownictwo
    12. Ćwiczenia
  7. Rozdział 6. Pętle i łańcuchy znakowe
    1. Instrukcja while
    2. Inkrementacja i dekrementacja
    3. Instrukcja for
    4. Pętle zagnieżdżone
    5. Znaki
    6. Której pętli użyć
    7. Iteracja po łańcuchu znakowym
    8. Metoda indexOf
    9. Podłańcuchy znakowe
    10. Porównywanie łańcuchów znakowych
    11. Formatowanie łańcuchów znakowych
    12. Słownictwo
    13. Ćwiczenia
  8. Rozdział 7. Tablice i referencje
    1. Tworzenie tablic
    2. Dostęp do elementów tablic
    3. Wyświetlanie tablic
    4. Kopiowanie tablic
    5. Przechodzenie przez tablice
    6. Generowanie liczb losowych
    7. Budowanie histogramu
    8. Rozszerzona pętla for
    9. Zliczanie znaków
    10. Słownictwo
    11. Ćwiczenia
  9. Rozdział 8. Metody rekurencyjne
    1. Rekurencyjne metody niezwracające wartości
    2. Rekurencyjne diagramy stosu
    3. Metody zwracające wartość
    4. Akt wiary
    5. Odliczanie rekurencyjne
    6. System liczb binarnych
    7. Binarna metoda rekurencyjna
    8. Zadania z serwisu CodingBat
    9. Słownictwo
    10. Ćwiczenia
  10. Rozdział 9. Obiekty niezmienne
    1. Zmienne proste kontra obiekty
    2. Słowo kluczowe null
    3. Niezmienność łańcuchów znakowych
    4. Klasy opakowujące
    5. Argumenty wiersza poleceń
    6. Walidacja argumentów
    7. Arytmetyka wartości typu BigInteger
    8. Projektowanie przyrostowe
    9. Więcej uogólniania
    10. Słownictwo
    11. Ćwiczenia
  11. Rozdział 10. Obiekty zmienne
    1. Obiekty klasy Point
    2. Obiekty jako parametry
    3. Obiekty jako wartości zwracane
    4. Zmienność obiektów klasy Rectangle
    5. Aliasy raz jeszcze
    6. Źródła biblioteki języka Java
    7. Diagramy klas
    8. Zasięg raz jeszcze
    9. Oczyszczanie pamięci
    10. Obiekty zmienne kontra obiekty niezmienne
    11. Obiekty klasy StringBuilder
    12. Słownictwo
    13. Ćwiczenia
  12. Rozdział 11. Projektowanie klas
    1. Klasa Time
    2. Konstruktory
    3. Konstruktory z wartościami
    4. Gettery i settery
    5. Wyświetlanie obiektów
    6. Metoda toString
    7. Metoda equals
    8. Dodawanie obiektów klasy Time
    9. Słownictwo
    10. Ćwiczenia
  13. Rozdział 12. Tablice obiektów
    1. Obiekty klasy Card
    2. Metoda toString klasy Card
    3. Zmienne klasy
    4. Metoda compareTo
    5. Niezmienność obiektów klasy Card
    6. Tablica obiektów klasy Card
    7. Wyszukiwanie sekwencyjne
    8. Wyszukiwanie binarne
    9. Śledzenie wykonania kodu
    10. Słownictwo
    11. Ćwiczenia
  14. Rozdział 13. Obiekty zawierające tablice
    1. Talie kart
    2. Tasowanie talii kart
    3. Sortowanie przez wybieranie
    4. Sortowanie przez scalanie
    5. Podtalie
    6. Scalanie talii
    7. Dodanie rekurencji
    8. Kontekst statyczny
    9. Stosy kart
    10. Granie w wojnę
    11. Słownictwo
    12. Ćwiczenia
  15. Rozdział 14. Rozszerzanie klas
    1. Klasa CardCollection
    2. Dziedziczenie
    3. Rozdawanie kart
    4. Klasa Player
    5. Klasa Eights
    6. Relacje pomiędzy klasami
    7. Słownictwo
    8. Ćwiczenia
  16. Rozdział 15. Tablice tablic
    1. Gra w życie autorstwa Johna Conwaya
    2. Klasa Cell
    3. Tablice dwuwymiarowe
    4. Klasa GridCanvas
    5. Inne metody klasy GridCanvas
    6. Rozpoczynanie gry
    7. Pętla symulacji
    8. Obsługa wyjątków
    9. Liczenie sąsiadów
    10. Aktualizacja siatki
    11. Słownictwo
    12. Ćwiczenia
  17. Rozdział 16. Ponowne używanie klas
    1. Mrówka Langtona
    2. Refaktoryzacja
    3. Klasy abstrakcyjne
    4. Diagram UML
    5. Słownictwo
    6. Ćwiczenia
  18. Rozdział 17. Tematy zaawansowane
    1. Obiekty klasy Polygon
    2. Dodawanie koloru
    3. Wielokąty foremne
    4. Więcej konstruktorów
    5. Początkowy rysunek
    6. Migające wielokąty
    7. Interfejsy
    8. Detektory zdarzeń
    9. Timery
    10. Słownictwo
    11. Ćwiczenia
  19. Dodatek A Narzędzia
    1. Instalacja programu DrJava
    2. Panel Interactions programu DrJava
    3. Interfejs wiersza poleceń
    4. Testowanie w wierszu poleceń
    5. Uruchamianie narzędzia Checkstyle
    6. Śledzenie wykonania za pomocą debugera
    7. Testowanie przy użyciu narzędzia JUnit
    8. Słownictwo
  20. Dodatek B Javadoc
    1. Czytanie dokumentacji
    2. Pisanie dokumentacji
    3. Znaczniki Javadoc
    4. Przykładowy plik źródłowy
    5. Słownictwo
  21. Dodatek C Grafika
    1. Tworzenie grafiki
    2. Metody graficzne
    3. Przykładowy rysunek
    4. Słownictwo
    5. Ćwiczenia
  22. Dodatek D Debugowanie
    1. Błędy czasu kompilacji
      1. Kompilator rzuca komunikatami o błędzie jak szalony
      2. Kompilator zgłasza dziwny komunikat o błędzie, który nie przestaje się pojawiać
      3. Niezależnie od wszystkiego nie da się skompilować programu
      4. Mimo zastosowania się do sugestii kompilatora kodu nadal nie da się skompilować
    2. Błędy czasu wykonania
      1. Program się zawiesza
        1. Nieskończona pętla
        2. Nieskończona rekurencja
        3. Przepływ wykonania
      2. Program po uruchomieniu zgłasza wyjątek
      3. Instrukcji wyświetlania jest tak wiele, że program zalewa ekran danymi
    3. Błędy logiczne
      1. Program nie działa
      2. Wielkie, złożone wyrażenie nie działa tak, jak powinno
      3. Metoda nie zwraca spodziewanego wyniku
      4. Instrukcja wyświetlania nie działa tak, jak powinna
      5. Brak pomysłów na rozwiązanie: potrzebna jest pomoc
      6. Naprawdę potrzebna jest pomoc
      7. Bug został znaleziony!
      8. O autorach
      9. Kolofon

Product information

  • Title: Myśl w języku Java!
  • Author(s): Chris Mayfield Allen B. Downey
  • Release date: November 2020
  • Publisher(s): Helion
  • ISBN: 9788328367197