Myśl w języku Java! Nauka programowania. Wydanie II - ebook
Myśl w języku Java! Nauka programowania. Wydanie II - ebook
Java jest językiem dojrzałym i jednocześnie bardzo nowoczesnym. Skupiona wokół niego społeczność cały czas dynamicznie go rozwija, sprawiając, że wszechstronność i innowacyjność Javy budzi podziw. Jest to też język idealny do nauki programowania - początkujący programiści, którzy wybierają Javę jako swój pierwszy język, w naturalny sposób nabierają dobrych nawyków, dzięki czemu później stosowanie się do najlepszych praktyk programistycznych nie sprawia im problemu. Ważne jest tylko, aby wraz z nauką programowania adept sztuki tworzenia kodu przyswoił choćby najważniejsze prawidła informatyki. Pozwala to uniknąć w przyszłości wielu kłopotów z niewydajnym, niezrozumiałym i trudnym do utrzymania kodem.
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.
W tej książce między innymi:
- podstawowe koncepcje programowania
- zmienne, wartości, zarządzanie pamięcią, operacje wejścia-wyjścia
- operacje logiczne, pętle i referencje
- obiekty, tablice, klasy i ich projektowanie
- konstruktory, interfejsy, detektory zdarzeń
Spis treści
Wstęp 9
1. Programowanie komputerowe 15
- Czym jest komputer? 15
- Czym jest programowanie? 16
- Program "Witaj, świecie!" 17
- Kompilowanie programów w języku Java 18
- Wyświetlanie dwóch komunikatów 20
- Formatowanie kodu źródłowego 21
- Używanie sekwencji ucieczki 22
- Czym jest informatyka? 23
- Debugowanie programów 23
- Słownictwo 24
- Ćwiczenia 26
2. Zmienne i operatory 29
- Deklarowanie zmiennych 29
- Przypisywanie zmiennym wartości 30
- Diagramy pamięci 31
- Wyświetlanie wartości zmiennych 32
- Operatory arytmetyczne 33
- Liczby zmiennoprzecinkowe 34
- Błędy zaokrągleń 35
- Operatory działające na łańcuchach znakowych 36
- Komunikaty o błędzie kompilatora 37
- Inne rodzaje błędów 38
- Słownictwo 39
- Ćwiczenia 41
3. Wejście i wyjście 43
- Klasa System 43
- Klasa Scanner 44
- Składniki języka 45
- Literały i stałe 46
- Formatowanie danych wyjściowych 48
- Czytanie komunikatów o błędzie 49
- Operatory rzutowania typu 50
- Operator reszty z dzielenia 51
- Łączenie wszystkiego w całość 52
- "Bug" w klasie Scanner 53
- Słownictwo 54
- Ćwiczenia 55
4. Metody i testowanie 59
- Definiowanie nowych metod 59
- Przepływ wykonania 60
- Parametry i argumenty 61
- Wiele parametrów 63
- Diagramy stosu 64
- Metody matematyczne 65
- Kompozycja 66
- Wartości zwracane 67
- Programowanie przyrostowe 68
- Słownictwo 70
- Ćwiczenia 71
5. Warunki i operacje logiczne 75
- Operatory relacyjne 75
- Instrukcja if-else 76
- Tworzenie łańcuchów i zagnieżdżanie 78
- Instrukcja switch 79
- Operatory logiczne 80
- Prawa De Morgana 81
- Zmienne logiczne (boolowskie) 82
- Metody typu boolean 83
- Walidacja danych wejściowych 84
- Przykładowy program 85
- Słownictwo 86
- Ćwiczenia 87
6. Pętle i łańcuchy znakowe 91
- Instrukcja while 91
- Inkrementacja i dekrementacja 93
- Instrukcja for 93
- Pętle zagnieżdżone 95
- Znaki 96
- Której pętli użyć 97
- Iteracja po łańcuchu znakowym 98
- Metoda indexOf 99
- Podłańcuchy znakowe 100
- Porównywanie łańcuchów znakowych 100
- Formatowanie łańcuchów znakowych 101
- Słownictwo 102
- Ćwiczenia 103
7. Tablice i referencje 107
- Tworzenie tablic 108
- Dostęp do elementów tablic 109
- Wyświetlanie tablic 110
- Kopiowanie tablic 111
- Przechodzenie przez tablice 113
- Generowanie liczb losowych 114
- Budowanie histogramu 115
- Rozszerzona pętla for 116
- Zliczanie znaków 117
- Słownictwo 119
- Ćwiczenia 120
8. Metody rekurencyjne 123
- Rekurencyjne metody niezwracające wartości 123
- Rekurencyjne diagramy stosu 124
- Metody zwracające wartość 125
- Akt wiary 127
- Odliczanie rekurencyjne 129
- System liczb binarnych 130
- Binarna metoda rekurencyjna 131
- Zadania z serwisu CodingBat 132
- Słownictwo 134
- Ćwiczenia 135
9. Obiekty niezmienne 139
- Zmienne proste kontra obiekty 139
- Słowo kluczowe null 141
- Niezmienność łańcuchów znakowych 141
- Klasy opakowujące 142
- Argumenty wiersza poleceń 144
- Walidacja argumentów 145
- Arytmetyka wartości typu BigInteger 146
- Projektowanie przyrostowe 147
- Więcej uogólniania 149
- Słownictwo 151
- Ćwiczenia 151
10. Obiekty zmienne 157
- Obiekty klasy Point 157
- Obiekty jako parametry 158
- Obiekty jako wartości zwracane 159
- Zmienność obiektów klasy Rectangle 160
- Aliasy raz jeszcze 161
- Źródła biblioteki języka Java 163
- Diagramy klas 163
- Zasięg raz jeszcze 164
- Oczyszczanie pamięci 165
- Obiekty zmienne kontra obiekty niezmienne 166
- Obiekty klasy StringBuilder 167
- Słownictwo 168
- Ćwiczenia 169
11. Projektowanie klas 171
- Klasa Time 171
- Konstruktory 172
- Konstruktory z wartościami 174
- Gettery i settery 175
- Wyświetlanie obiektów 176
- Metoda toString 177
- Metoda equals 178
- Dodawanie obiektów klasy Time 180
- Słownictwo 182
- Ćwiczenia 183
12. Tablice obiektów 185
- Obiekty klasy Card 185
- Metoda toString klasy Card 187
- Zmienne klasy 188
- Metoda compareTo 189
- Niezmienność obiektów klasy Card 190
- Tablica obiektów klasy Card 191
- Wyszukiwanie sekwencyjne 193
- Wyszukiwanie binarne 193
- Śledzenie wykonania kodu 195
- Słownictwo 196
- Ćwiczenia 196
13. Obiekty zawierające tablice 199
- Talie kart 199
- Tasowanie talii kart 200
- Sortowanie przez wybieranie 202
- Sortowanie przez scalanie 202
- Podtalie 203
- Scalanie talii 204
- Dodanie rekurencji 205
- Kontekst statyczny 206
- Stosy kart 207
- Granie w wojnę 209
- Słownictwo 210
- Ćwiczenia 211
14. Rozszerzanie klas 215
- Klasa CardCollection 215
- Dziedziczenie 217
- Rozdawanie kart 219
- Klasa Player 220
- Klasa Eights 222
- Relacje pomiędzy klasami 224
- Słownictwo 225
- Ćwiczenia 226
15. Tablice tablic 229
- Gra w życie autorstwa Johna Conwaya 229
- Klasa Cell 231
- Tablice dwuwymiarowe 232
- Klasa GridCanvas 233
- Inne metody klasy GridCanvas 234
- Rozpoczynanie gry 235
- Pętla symulacji 236
- Obsługa wyjątków 237
- Liczenie sąsiadów 238
- Aktualizacja siatki 239
- Słownictwo 241
- Ćwiczenia 241
16. Ponowne używanie klas 245
- Mrówka Langtona 245
- Refaktoryzacja 247
- Klasy abstrakcyjne 248
- Diagram UML 250
- Słownictwo 251
- Ćwiczenia 251
17. Tematy zaawansowane 253
- Obiekty klasy Polygon 253
- Dodawanie koloru 254
- Wielokąty foremne 255
- Więcej konstruktorów 257
- Początkowy rysunek 258
- Migające wielokąty 260
- Interfejsy 261
- Detektory zdarzeń 263
- Timery 266
- Słownictwo 267
- Ćwiczenia 267
A. Narzędzia 269
B. Javadoc 279
C. Grafika 287
D. Debugowanie 293
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-6720-3 |
Rozmiar pliku: | 5,4 MB |