www.ksiegarnia-fachowa.pl
wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   0 zł   zamówienie wysyłkowe >>>
Strona główna > opis książki

JAVA DLA ZUPEŁNIE POCZĄTKUJĄCYCH OWOCE PROGRAMOWANIA


GADDIS T.

wydawnictwo: HELION , rok wydania 2019, wydanie VII

cena netto: 156.45 Twoja cena  148,63 zł + 5% vat - dodaj do koszyka

Java dla zupełnie początkujących

Owoce programowania

Java jest rozbudowanym, elastycznym i wszechstronnym, a przy tym dojrzałym językiem programowania. Pozwala na tworzenie kodu dla prawie wszystkich rodzajów komputerów, również tych sterujących pracą najbardziej wyspecjalizowanych urządzeń. Można go używać do pisania dużych systemów, małych programów, aplikacji mobilnych i aplikacji WWW. Jest znakomitym wyborem dla osób, które postanowiły związać swoją przyszłość zawodową z którąś z wielu gałęzi informatyki. Aby optymalnie wykorzystać potencjał drzemiący w Javie, koniecznie trzeba zadbać o solidne podstawy - zarówno w teorii, jak i w praktyce kodowania.

Oto zaktualizowane i uzupełnione wydanie cenionego podręcznika dla studentów. Książka została pomyślana w taki sposób, aby maksymalnie ułatwić naukę Javy krok po kroku i pozwolić na możliwie szybkie rozpoczęcie samodzielnego kodowania.

Znalazło się tu wprowadzenie do wiedzy o sprzęcie, oprogramowaniu, wykonywaniu programów i kompilacji kodu. Dzięki temu nawet zupełnie początkujące osoby zaczną płynnie posługiwać się typami danych, zmiennymi czy instrukcjami sterującymi. Bardzo starannie omówiono takie tematy jak klasy, obiekty i dziedziczenie. Nie zabrakło wprowadzenia do pracy z bazami danych, plikami czy też podstaw budowy graficznego interfejsu użytkownika za pomocą nowej biblioteki JavaFX.


W tej książce między innymi:

solidne podstawy programowania i wprowadzenie do Javy
operacje wejścia-wyjścia, przetwarzanie tekstu oraz obsługa wyjątków
rekurencja i jej zastosowanie w rozwiązywaniu problemów
praca z animacjami, dźwiękiem i wideo
wykorzystanie interfejsu JDBC do pisania aplikacji bazodanowych

Java: zdobądź solidne podstawy i programuj jak mistrz!

Tony Gaddis od ponad dwudziestu lat prowadzi kursy informatyczne, głównie w Haywood Community College. Jego talent dydaktyczny był niejednokrotnie doceniany i nagradzany. Gaddis otrzymał między innymi tytuł Nauczyciela Roku na North Carolina Community College oraz nagrodę Teaching Excellence przyznaną przez National Institute for Staff and Organizational Development. Jest autorem i współautorem bardzo cenionych książek dotyczących nauki języków C++, Java, Microsoft

Przedmowa 21

Rozdział 1. Wprowadzenie do komputerów i Javy 31

1.1. Wprowadzenie 31
1.2. Po co programować? 31
1.3. Systemy komputerowe: sprzęt i oprogramowanie 33
Sprzęt 33
Oprogramowanie 36
1.4. Języki programowania 37
Czym jest program? 37
Historia języka Java 38
1.5. Z czego składa się program? 40
Elementy języka 40
Wiersze i instrukcje 42
Zmienne 42
Kompilator i maszyna wirtualna Javy 43
Wersje oprogramowania Java 45
Kompilowanie i uruchamianie programów w Javie 46
1.6. Proces programowania 48
Inżynieria oprogramowania 50
1.7. Programowanie obiektowe 51
Pytania kontrolne i ćwiczenia 53
Zadania programistyczne 57

Rozdział 2. Podstawy Javy 59

2.1. Części programu w Javie 59
2.2. Metody print i println oraz interfejs API Javy 65
2.3. Zmienne i literały 70
Wyświetlanie wielu elementów za pomocą operatora + 72
Zachowaj ostrożność przy cudzysłowach 73
Jeszcze o literałach 73
Identyfikatory 74
Nazwy klas 76
2.4. Proste typy danych 76
Całkowitoliczbowe typy danych 78
Typy zmiennoprzecinkowe 79
Typ danych boolean 82
Typ danych char 82
Inicjowanie zmiennych i przypisywanie do nich wartości 84
Zmienne w danym momencie przechowują tylko jedną wartość 85
2.5. Operatory arytmetyczne 86
Dzielenie całkowitoliczbowe 89
Pierwszeństwo operatorów 89
Grupowanie z użyciem nawiasów 91
Klasa Math 94
2.6. Złożone operatory przypisania 95
2.7. Konwersja prostych typów danych na inne takie typy 97
Operacja na różnych typach całkowitoliczbowych 99
Inne wyrażenia matematyczne z różnymi typami 100
2.8. Tworzenie nazwanych stałych za pomocą słowa kluczowego final 101
2.9. Klasa String 103
Obiekty są tworzone na podstawie klas 103
Klasa String 104
Zmienne typów prostych i zmienne będące instancją klasy 104
Tworzenie obiektu typu String 105
2.10. Zasięg 108
2.11. Komentarze 110
2.12. Styl programowania 114
2.13. Wczytywanie danych wejściowych z klawiatury 116
Wczytywanie znaków 120
Łączenie wywołań metody nextLine z wywołaniami innych metod klasy Scanner 120
2.14. Okna dialogowe 123
Wyświetlanie okien dialogowych 124
Wyświetlanie okien dialogowych na dane wejściowe 124
Przykładowy program 125
Przekształcanie tekstowych danych wejściowych na liczby 126
2.15. Typowe błędy, których należy unikać 129
Pytania kontrolne i ćwiczenia 131
Zadania programistyczne 137

Rozdział 3. Struktury decyzyjne 143

3.1. Instrukcja if 143
Używanie operatorów relacji do tworzenia warunków 145
Łączenie wszystkich informacji 147
Style programowania a instrukcja if 149
Uważaj na średniki 149
Warunkowe wykonywanie wielu instrukcji 150
Flagi 150
Porównywanie znaków 151
3.2. Instrukcja if-else 152
3.3. Zagnieżdżone instrukcje if 154
3.4. Instrukcja if-else-if 160
3.5. Operatory logiczne 165
Pierwszeństwo operatorów logicznych 170
Sprawdzanie przynależności liczb do przedziałów za pomocą operatorów logicznych 171
3.6. Porównywanie obiektów typu String 172
Ignorowanie wielkości znaków przy porównywaniu łańcuchów 176
3.7. Jeszcze o deklarowaniu i zasięgu zmiennych 178
3.8. Operator warunkowy (opcjonalny) 179
3.9. Instrukcja switch 180
3.10. Wyświetlanie sformatowanych danych wyjściowych za pomocą instrukcji System.out.printf i String.format 189
Składnia specyfikatorów formatowania 192
Precyzja 193
Określanie minimalnej szerokości pola 194
Opcje 196
Formatowanie argumentów w postaci łańcuchów znaków 199
Metoda String.format 200
3.11. Typowe błędy, których należy unikać 203
Pytania kontrolne i ćwiczenia 204
Zadania programistyczne 210

Rozdział 4. Pętle i pliki 217

4.1. Operatory inkrementacji i dekrementacji 217
Różnice między trybami przyrostkowym i przedrostkowym 219
4.2. Pętla while 221
Pętla while jest testowana na początku 223
Pętle nieskończone 224
Nie zapominaj o umieszczaniu bloku instrukcji w nawiasie klamrowym 225
Styl programowania i pętla while 225
4.3. Stosowanie pętli while do sprawdzania poprawności danych wejściowych 227
4.4. Pętla do-while 231
4.5. Pętla for 233
Pętla for jest pętlą ze sprawdzaniem wstępnym 237
Unikaj modyfikowania zmiennej sterującej w ciele pętli for 237
Inne formy wyrażenia aktualizującego 237
Deklarowanie zmiennej w wyrażeniu inicjującym pętli for 237
Tworzenie pętli for sterowanych przez użytkownika 238
Używanie wielu instrukcji w wyrażeniach inicjującym i aktualizującym 239
4.6. Suma bieżąca i wartość wartownika 242
Stosowanie wartownika 245
4.7. Pętle zagnieżdżone 247
4.8. Instrukcje break i continue (opcjonalne) 254
4.9. Wybieranie rodzaju pętli 255
4.10. Wprowadzenie do zapisu i odczytu plików 255
Stosowanie klasy PrintWriter do zapisu danych w pliku 256
Dołączanie danych do pliku 262
Określanie lokalizacji pliku 263
Odczyt danych z pliku 263
Odczyt wierszy pliku za pomocą metody nextLine 264
Dodawanie klauzuli throws do nagłówka metody 266
Sprawdzanie, czy plik istnieje 270
4.11. Generowanie liczb losowych za pomocą klasy Random 273
4.12. Typowe błędy, których należy unikać 279
Pytania kontrolne i ćwiczenia 280
Zadania programistyczne 287

Rozdział 5. Metody 295

5.1. Wprowadzenie do metod 295
Metody void i metody zwracające wartość 297
Definiowanie metody void 297
Wywoływanie metody 299
Warstwowe wywołania metod 302
Używanie komentarzy javadoc do metod 303
5.2. Przekazywanie argumentów do metod 304
Zgodność typów danych argumentów i parametrów 307
Zasięg parametrów 307
Przekazywanie wielu argumentów 307
Argumenty są przekazywane przez wartość 309
Przekazywanie metodom referencji do obiektów 310
Używanie znacznika @param w komentarzach javadoc 313
5.3. Jeszcze o zmiennych lokalnych 315
Czas życia zmiennych lokalnych 316
Inicjowanie zmiennych lokalnych za pomocą parametrów 316
5.4. Zwracanie wartości przez metody 317
Definiowanie metody zwracającej wartość 318
Wywoływanie metody zwracającej wartość 319
Używanie znacznika @return w komentarzach javadoc 320
Zwracanie wartości logicznych 323
Zwracanie referencji do obiektu 324
5.5. Rozwiązywanie problemów za pomocą metod 325
Wywoływanie metod zgłaszających wyjątki 328
5.6. Typowe błędy, których należy unikać 329
Pytania kontrolne i ćwiczenia 330
Zadania programistyczne 334

Rozdział 6. Pierwszy kontakt z klasami 343

6.1. Obiekty i klasy 343
Klasy: to z nich biorą się obiekty 344
Klasy w interfejsie API Javy 345
Zmienne typów prostych a obiekty 347
6.2. Pisanie prostej klasy krok po kroku 350
Akcesory i mutatory 363
Znaczenie ukrywania danych 363
Unikanie nieaktualnych danych 363
Podawanie specyfikatorów dostępu na diagramach UML 364
Zapis typów danych i parametrów na diagramach UML 364
Układ składowych klasy 365
6.3. Pola i metody instancji 366
6.4. Konstruktory 370
Zapisywanie konstruktorów na diagramach UML 372
Niezainicjowane lokalne zmienne referencyjne 372
Konstruktor domyślny 373
Pisanie własnego konstruktora bezargumentowego 374
Konstruktor klasy String 374
6.5. Przekazywanie obiektów jako argumentów 382
6.6. Przeciążanie metod i konstruktorów 393
Klasa BankAccount 395
Przeciążone metody zwiększają użyteczność klas 400
6.7. Zasięg pól instancji 400
Przesłanianie 401
6.8. Pakiety i instrukcje import 402
Szczegółowe i ogólne instrukcje import 402
Pakiet java.lang 403
Inne pakiety z interfejsu API 403
6.9. Projektowanie obiektowe: określanie klas i ich zadań 403
Określanie klas 404
Określanie zadań klas 408
To dopiero początek 411
6.10. Typowe błędy, których należy unikać 411
Pytania kontrolne i ćwiczenia 412
Zadania programistyczne 417

Rozdział 7. Tablice i klasa ArrayList 427

7.1. Wprowadzenie do tablic 427
Dostęp do elementów tablicy 429
Zapisywanie i wyświetlanie zawartości tablicy 430
Java sprawdza zakres tablicy 433
Uważaj na pomyłki o jeden element 434
Inicjowanie tablicy 434
Różne sposoby deklarowania tablic 435
7.2. Przetwarzanie elementów tablic 437
Długość tablicy 439
Pętla for dla kolekcji 439
Umożliwianie użytkownikom określania wielkości tablicy 441
Przypisywanie nowych tablic do tablicowych zmiennych referencyjnych 442
Kopiowanie tablic 443
7.3. Przekazywanie tablic jako argumentów metod 445
7.4. Wybrane przydatne algorytmy i operacje tablicowe 448
Sumowanie wartości w tablicy liczb 449
Obliczanie średniej wartości z tablicy liczb 449
Wyszukiwanie największej i najmniejszej wartości w tablicy liczb 450
Klasa SalesData 451
Częściowo zapełnione tablice 458
Praca z tablicami i plikami 459
7.5. Zwracanie tablic przez metody 460
7.6. Tablice typu String 461
Wywoływanie metod typu String za pomocą elementów tablicy 464
7.7. Tablice obiektów 464
7.8. Algorytm wyszukiwania sekwencyjnego 467
7.9. Tablice dwuwymiarowe 469
Inicjowanie tablicy dwuwymiarowej 473
Pole length w tablicy dwuwymiarowej 474
Wyświetlanie wszystkich elementów tablicy dwuwymiarowej 475
Sumowanie wszystkich elementów tablicy dwuwymiarowej 476
Sumowanie wartości wierszy tablicy dwuwymiarowej 477
Sumowanie kolumn tablicy dwuwymiarowej 477
Przekazywanie tablic dwuwymiarowych do metod 478
Tablice z wierszami o różnej długości 479
7.10. Tablice o co najmniej trzech wymiarach 480
7.11. Algorytm sortowania przez wybieranie i wyszukiwania binarnego 481
Algorytm sortowania przez wybieranie 481
Algorytm wyszukiwania binarnego 484
7.12. Argumenty podawane w wierszu poleceń i listy argumentów o zmiennej długości 486
Argumenty w wierszu poleceń 487
Listy argumentów o zmiennej długości 488
7.13. Klasa ArrayList 490
Tworzenie i używanie obiektów typu ArrayList 491
Używanie pętli for dla kolekcji do obiektów typu ArrayList 492
Metoda toString klasy ArrayList 493
Usuwanie elementów z obiektu typu ArrayList 494
Wstawianie elementu 495
Zastępowanie elementu 496
Pojemność 496
Zapisywanie własnych obiektów w obiektach typu ArrayList 497
7.14. Typowe błędy, których należy unikać 498
Pytania kontrolne i ćwiczenia 499
Zadania programistyczne 504

Rozdział 8. Jeszcze o klasach i obiektach 513

8.1. Statyczne składowe klasy 513
Krótkie omówienie pól i metod instancji 513
Składowe statyczne 514
Pola statyczne 514
Metody statyczne 516
8.2. Przekazywanie obiektów jako argumentów metod 519
8.3. Zwracanie obiektów przez metody 522
8.4. Metoda toString 524
8.5. Pisanie metody equals 528
8.6. Metody kopiujące obiekty 530
Konstruktory kopiujące 532
8.7. Agregowanie 533
Agregacja na diagramach UML 539
Problemy z bezpieczeństwem dotyczące klas agregujących 539
Unikaj stosowania referencji null 542
8.8. Zmienna referencyjna this 545
Używanie słowa kluczowego this do zapobiegania przesłanianiu 545
Używanie słowa kluczowego this do wywoływania przeciążonego konstruktora w innym konstruktorze 546
8.9. Typy wyliczeniowe 547
Typy wyliczeniowe są wyspecjalizowanymi klasami 548
Używanie typu wyliczeniowego w instrukcji switch 553
8.10. Przywracanie pamięci 555
Metoda finalize 556
8.11. Koncentracja na projektowaniu obiektowym - współdziałanie klas 557
Opisywanie współdziałania klas za pomocą kart CRC 559
8.12. Typowe błędy, których należy unikać 561
Pytania kontrolne i ćwiczenia 561
Zadania programistyczne 566

Rozdział 9. Przetwarzanie tekstu i klasy nakładkowe 573

9.1. Wprowadzenie do klas nakładkowych 573
9.2. Sprawdzanie i konwersja znaków za pomocą klasy Character 574
Zmiana wielkości znaków 579
9.3. Inne metody klasy String 581
Wyszukiwanie podłańcuchów 581
Pobieranie podłańcuchów 587
Metody zwracające zmodyfikowany obiekt typu String 590
Statyczne metody valueOf 592
9.4. Klasa StringBuilder 594
Konstruktory klasy StringBuilder 595
Inne metody klasy StringBuilder 596
Metoda toString 599
9.5. Rozdzielanie łańcuchów znaków 604
9.6. Klasy nakładkowe dla liczbowych typów danych 608
Statyczne metody toString 608
Metody toBinaryString, toHexString i toOctalString 608
Stałe MIN_VALUE i MAX_VALUE 609
Automatyczna konwersja na klasę i na typ prosty 609
9.7. Rozwiązywanie problemów - klasa TestScoreReader 611
9.8. Typowe błędy, których należy unikać 614
Pytania kontrolne i ćwiczenia 615
Zadania programistyczne 619

Rozdział 10. Dziedziczenie 627

10.1. Czym jest dziedziczenie? 627
Uogólnianie i specjalizacja 627
Dziedziczenie to relacja "jest czymś" 628
Dziedziczenie na diagramach UML 635
Konstruktor klasy bazowej 635
Dziedziczenie nie działa w drugą stronę 637
10.2. Wywoływanie konstruktora klasy bazowej 638
Co się dzieje, gdy klasa bazowa nie ma konstruktora domyślnego ani bezargumentowego? 644
Streszczenie zagadnień związanych z konstruktorami w kontekście dziedziczenia 644
10.3. Przesłanianie metod klasy bazowej 646
Przeciążanie a przesłanianie 650
Zapobieganie przesłanianiu metody 653
10.4. Składowe chronione 653
Dostęp na poziomie pakietu 658
10.5. Łańcuchy dziedziczenia 659
Hierarchie klas 663
10.6. Klasa Object 665
10.7. Polimorfizm 667
Polimorfizm i wiązanie dynamiczne 668
Relacja "jest czymś" nie działa w drugą stronę 670
Operator instanceof 670
10.8. Klasy i metody abstrakcyjne 671
Klasy abstrakcyjne na diagramach UML 677
10.9. Interfejsy 677
Interfejs jest kontraktem 679
Pola w interfejsach 682
Implementowanie wielu interfejsów 683
Interfejsy na diagramach UML 683
Metody domyślne 683
Polimorfizm i interfejsy 685
10.10. Anonimowe klasy wewnętrzne 690
10.11. Interfejsy funkcyjne i wyrażenia lambda 693
10.12. Typowe błędy, których należy unikać 697
Pytania kontrolne i ćwiczenia 698
Zadania programistyczne 705

Rozdział 11. Wyjątki i zaawansowane plikowe operacje wejścia-wyjścia 711

11.1. Obsługa wyjątków 711
Klasy wyjątków 712
Obsługa wyjątków 713
Pobieranie domyślnego komunikatu o błędzie 717
Polimorficzne referencje do wyjątków 719
Używanie wielu klauzul catch do obsługi wielu wyjątków 719
Klauzula finally 726
Ślad stosu 727
Obsługa wielu wyjątków za pomocą jednej klauzuli catch 729
Co się dzieje, gdy wyjątek nie zostaje przechwycony? 731
Wyjątki kontrolowane i niekontrolowane 731
11.2. Zgłaszanie wyjątków 733
Tworzenie własnych klas wyjątków 736
Używanie znacznika @exception w komentarzach javadoc 738
11.3. Zagadnienia zaawansowane: pliki binarne, pliki z dostępem swobodnym i serializowanie obiektów 739
Pliki binarne 739
Pliki o dostępie swobodnym 745
Serializowanie obiektów 751
Serializowanie obiektów zagregowanych 754
11.4. Typowe błędy, których należy unikać 755
Pytania kontrolne i ćwiczenia 756
Zadania programistyczne 761

Rozdział 12. JavaFX: programowanie interfejsu GUI i podstawowe kontrolki 765

12.1. Graficzne interfejsy użytkownika 765
Programy z interfejsem GUI sterowanym zdarzeniami 766
12.2. Wprowadzenie do biblioteki JavaFX 768
Kontrolki 768
Płótno i sceny 769
Klasa Application 770
12.3. Tworzenie scen 772
Tworzenie kontrolek 773
Tworzenie kontenerów 773
Tworzenie obiektów typu Scene 774
Dodawanie obiektu typu Scene do płótna 775
Określanie wielkości sceny 777
Wyrównywanie kontrolek w kontenerze HBox 777
12.4. Wyświetlanie grafiki 779
Wczytywanie grafiki z internetu 782
Określanie wielkości grafiki 782
Zachowywanie proporcji obrazu 783
Modyfikowanie obrazu powiązanego z obiektem typu ImageView 783
12.5. Jeszcze o kontenerach HBox, VBox i GridPane 784
Kontener typu HBox 784
Kontener typu VBox 789
Kontener typu GridPane 791
Używanie wielu kontenerów na jednym ekranie 797
12.6. Przyciski i zdarzenia 798
Obsługa zdarzeń 800
Pisanie obiektów obsługi zdarzeń 801
Rejestrowanie obiektu obsługi zdarzeń 801
12.7. Wczytywanie danych za pomocą kontrolki typu TextField 805
12.8. Używanie anonimowych klas wewnętrznych i wyrażeń lambda do obsługi zdarzeń 809
Używanie anonimowych klas wewnętrznych do tworzenia obiektów obsługi zdarzeń 809
Używanie wyrażeń lambda do tworzenia obiektów obsługi zdarzeń 811
12.9. Kontener typu BorderPane 814
12.10. Interfejs ObservableList 817
12.11. Typowe błędy, których należy unikać 819
Pytania kontrolne i ćwiczenia 819
Zadania programistyczne 823

Rozdział 13. JavaFX: zaawansowane kontrolki 829

13.1. Dodawanie stylów aplikacji opartych na bibliotece JavaFX za pomocą arkuszy CSS 829
Nazwy selektorów typów 830
Właściwości w stylach 831
Stosowanie arkuszy stylów do aplikacji opartych na bibliotece JavaFX 833
Stosowanie stylów do węzła korzenia 836
Podawanie kilku selektorów w jednej definicji stylu 838
Praca z kolorami 838
Tworzenie niestandardowej klasy stylu 840
Selektory identyfikatorów 842
Wewnątrzwierszowe reguły stylów 842
13.2. Kontrolki typu RadioButton 844
Sprawdzanie w kodzie, czy dana kontrolka typu RadioButton jest zaznaczona 845
Zaznaczanie kontrolki typu RadioButton w kodzie 845
Reagowanie na kliknięcie kontrolki typu RadioButton 850
13.3. Kontrolki typu CheckBox 853
Sprawdzanie w kodzie, czy kontrolka typu CheckBox jest zaznaczona 854
Zaznaczanie kontrolki typu CheckBox za pomocą kodu 854
Reagowanie na kliknięcie kontrolki typu CheckBox 857
13.4. Kontrolki typu ListView 858
Pobieranie zaznaczonego elementu 859
Pobieranie indeksu zaznaczonego elementu 861
Reagowanie na zaznaczenie elementu za pomocą obiektu obsługi zdarzeń 862
Dodawanie elementów a ustawianie elementów 864
Inicjowanie kontrolki typu ListView za pomocą tablicy lub obiektu typu ArrayList 864
Tryby zaznaczania elementów 866
Pobieranie wielu zaznaczonych elementów 867
Używanie elementów z listy typu ObservableList 869
Przekształcanie listy typu ObservableList na tablicę 870
Używanie kodu do zaznaczania elementu w kontrolce typu ListView 871
Układ kontrolki typu ListView 871
Tworzenie kontrolek typu ListView z elementami typów innych niż String 872
13.5. Kontrolki typu ComboBox 877
Pobieranie zaznaczonego elementu 879
Reagowanie na zaznaczenie elementu w kontrolce typu ComboBox 880
Kontrolki typu ComboBox umożliwiające modyfikacje 881
13.6. Kontrolki typu Slider 882
13.7. Kontrolki typu TextArea 888
13.8. Menu 890
Przypisywanie klawiszy skrótu do opcji menu 897
13.9. Klasa FileChooser 899
Wyświetlanie okna dialogowego typu FileChooser 899
13.10. Używanie danych wyjściowych w konsoli do debugowania aplikacji z interfejsem GUI 901
13.11. Typowe błędy, których należy unikać 904
Pytania kontrolne i ćwiczenia 904
Zadania programistyczne 909

Rozdział 14. JavaFX: grafika, efekty i multimedia 913

14.1. Rysowanie kształtów 913
Układ współrzędnych ekranu 913
Klasa Shape i jej podklasy 914
Klasa Line 915
Zmienianie koloru pędzla 917
Klasa Circle 918
Klasa Rectangle 921
Klasa Ellipse 924
Klasa Arc 928
Klasa Polygon 931
Klasa Polyline 934
Klasa Text 936
Obracanie węzłów 938
Skalowanie węzłów 940
14.2. Animacje 942
Klasa TranslateTransition 943
Klasa RotateTransition 946
Klasa ScaleTransition 950
Klasa StrokeTransition 953
Klasa FillTransition 954
Klasa FadeTransition 955
Sterowanie animacją 956
Wybieranie mechanizmu interpolacji 958
14.3. Efekty 959
Klasa DropShadow 960
Klasa InnerShadow 961
Klasa ColorAdjust 963
Klasy BoxBlur, GaussianBlur i MotionBlur 964
Klasa SepiaTone 967
Klasa Glow 967
Klasa Reflection 967
Łączenie efektów 968
14.4. Odtwarzanie plików dźwiękowych 970
Rejestrowanie obiektu obsługi zdarzenia EndOfMedia 972
14.5. Odtwarzanie filmów 975
14.6. Obsługa zdarzeń związanych z klawiszami 980
Stosowanie anonimowej klasy wewnętrznej do rejestrowania obiektu obsługi zdarzeń dla sceny 981
Używanie wyrażeń lambda do rejestrowania obiektów obsługi zdarzeń dla sceny 981
14.7. Obsługa zdarzeń związanych z myszą 986
14.8. Typowe błędy, których należy unikać 991
Pytania kontrolne i ćwiczenia 992
Zadania programistyczne 995

Rozdział 15. Rekurencja 999

15.1. Wprowadzenie do rekurencji 999
15.2. Rozwiązywanie problemów za pomocą rekurencji 1002
Rekurencja bezpośrednia i pośrednia 1006
15.3. Przykładowe metody rekurencyjne 1006
Sumowanie przedziału elementów tablicy za pomocą rekurencji 1006
Rysowanie koncentrycznych kół 1008
Ciąg Fibonacciego 1010
Znajdowanie największego wspólnego dzielnika 1011
15.4. Rekurencyjne wyszukiwanie binarne 1012
15.5. Wieże Hanoi 1015
15.6. Typowe błędy, których należy unikać 1019
Pytania kontrolne i ćwiczenia 1020
Zadania programistyczne 1023

Rozdział 16. Bazy danych 1025

16.1. Wprowadzenie do systemów zarządzania bazami danych 1025
JDBC 1027
SQL 1027
Używanie systemu DBMS 1028
Java DB i Apache Derby 1028
Tworzenie bazy danych CoffeeDB 1028
Nawiązywanie połączenia z bazą CoffeeDB 1029
Łączenie się z bazą chronioną hasłem 1031
16.2. Tabele, wiersze i kolumny 1032
Typy danych kolumn 1033
Klucze główne 1034
16.3. Wprowadzenie do instrukcji SQL SELECT 1035
Przekazywanie instrukcji SQL-owych do systemu DBMS 1036
Określanie kryteriów wyszukiwania za pomocą klauzuli WHERE 1045
Sortowanie wyników zapytania SELECT 1051
Funkcje matematyczne 1052
16.4. Wstawianie wierszy 1055
Wstawianie wierszy za pomocą technologii JDBC 1057
16.5. Aktualizowanie i usuwanie istniejących wierszy 1058
Aktualizowanie wierszy za pomocą technologii JDBC 1059
Usuwanie wierszy za pomocą instrukcji DELETE 1063
Usuwanie wierszy za pomocą technologii JDBC 1063
16.6. Tworzenie i usuwanie tabel 1066
Usuwanie tabel za pomocą instrukcji DROP TABLE 1069
16.7. Tworzenie nowej bazy danych za pomocą technologii JDBC 1069
16.8. Przewijalne zbiory wyników 1071
16.9. Metadane zbioru wyników 1073
16.10. Dane relacyjne 1078
Złączanie danych z wielu tabel 1081
System wprowadzania zamówień 1082
16.11. Zaawansowane zagadnienia 1092
Transakcje 1092
Procedury składowane 1094
16.12. Typowe błędy, których należy unikać 1094
Pytania kontrolne i ćwiczenia 1095
Zadania programistyczne 1100
Dodatek A. Odpowiedzi do punktów kontrolnych 1103

Dodatek B. Odpowiedzi na nieparzyste pytania kontrolne 1131

Skorowidz 1159

1176 stron, Format: 17.0x24.5cm, oprawa twarda

Księgarnia nie działa. Nie odpowiadamy na pytania i nie realizujemy zamówien. Do odwolania !.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. 2012-2026