Java. Przewodnik dla początkujących. Wydanie VII Tychy

Java jest jednym z kilku języków programowania, które niemal od początku istotnie wpływały na kształt programowania jako takiego. Już w początkowej fazie swojej historii, w 1995 r., Java spowodowała prawdziwą rewolucję w programowaniu. Stała się jedną z przyczyn skokowego rozwoju technologii …

od 53,40 Najbliżej: 32 km

Liczba ofert: 1

Oferta sklepu

Opis

Java jest jednym z kilku języków programowania, które niemal od początku istotnie wpływały na kształt programowania jako takiego. Już w początkowej fazie swojej historii, w 1995 r., Java spowodowała prawdziwą rewolucję w programowaniu. Stała się jedną z przyczyn skokowego rozwoju technologii internetowych i określiła nowe standardy projektowania języków programowania. Do dzisiaj zaliczana jest do awangardy, skupiając wokół siebie społeczność osób ciągle poszukujących innowacji. Oznacza to, że solidne podstawy programowania w Javie są znakomitą inwestycją dla każdego programisty, który swoją przyszłość wiąże z rozwojem najnowszych technologii informatycznych. Ta książka jest kolejnym wydaniem wyjątkowego podręcznika, zaktualizowanym o informacje dotyczące Javy SE 9. Dzięki niej zdobędziesz solidne podstawy programowania w Javie, nawet jeśli nie masz żadnego przygotowania w tym kierunku. Poszczególne zagadnienia przedstawiono tu bardzo klarownie i przejrzyście, krok po kroku, uzupełniając je o liczne przykłady, testy sprawdzające i projekty do samodzielnej pracy. Najpierw zapoznasz się z podstawowymi informacjami, takimi jak kompilacja i uruchomienie programu w Javie. Następnie nauczysz się stosować słowa kluczowe i konstrukcje, które tworzą rdzeń tego języka. Stopniowo przejdziesz do zaawansowanych tematów, włączając w to programowanie wielowątkowe, typy sparametryzowane, wyrażenia lambda oraz moduły. Na końcu zapoznasz się z biblioteką Swing. Najważniejsze zagadnienia: Historia Javy, jej cechy szczególne i przygotowanie środowiska pracy Podstawowe elementy kodu i zasady programowania obiektowego Dziedziczenie, pakiety i interfejsy Praca na plikach i operacje wejścia-wyjścia Moduły i usługi Technologia JavaFX Java: zdobądź solidne podstawy i twórz kod mistrzów! Spis treści: O autorze 13 O redaktorze technicznym 14 Wstęp 15 1. Podstawy Javy 21 Pochodzenie Javy 22 Java a języki C i C++ 22 Wpływ Javy na Internet 23 Java uprościła programowanie aplikacji internetowych 23 Aplety Javy 24 Bezpieczeństwo 24 Przenośność 25 Magiczny kod bajtowy 25 Coś więcej niż aplety 26 Terminologia Javy 27 Programowanie obiektowe 27 Hermetyzacja 28 Polimorfizm 29 Dziedziczenie 29 Java Development Kit 29 Pierwszy prosty program 30 Wprowadzenie tekstu programu 31 Kompilowanie programu 31 Pierwszy program wiersz po wierszu 32 Obsługa błędów składni 34 Drugi prosty program 34 Inne typy danych 36 Dwie instrukcje sterujące 38 Instrukcja if 38 Pętla for 40 Bloki kodu 41 Średnik i pozycja kodu w wierszu 42 Wcięcia 42 Słowa kluczowe języka Java 44 Identyfikatory 45 Biblioteki klas 45 Test sprawdzający 45 2. Typy danych i operatory 47 Dlaczego typy danych są tak ważne 47 Typy proste 48 Typy całkowite 48 Typy zmiennoprzecinkowe 49 Znaki 50 Typ logiczny 51 Literały 53 Literały szesnastkowe, ósemkowe i binarne 53 Specjalne sekwencje znaków 53 Literały łańcuchowe 54 Zmienne 55 Inicjalizacja zmiennej 55 Dynamiczna inicjalizacja 55 Zasięg deklaracji i czas istnienia zmiennych 56 Operatory 58 Operatory arytmetyczne 58 Inkrementacja i dekrementacja 59 Operatory relacyjne i logiczne 60 Warunkowe operatory logiczne 62 Operator przypisania 63 Skrótowe operatory przypisania 63 Konwersje typów w instrukcjach przypisania 64 Rzutowanie typów niezgodnych 65 Priorytet operatorów 67 Wyrażenia 68 Konwersja typów w wyrażeniach 68 Odstępy i nawiasy 70 Test sprawdzający 70 3. Instrukcje sterujące 71 Wprowadzanie znaków z klawiatury 71 Instrukcja if 72 Zagnieżdżanie instrukcji if 73 Drabinka if-else-if 74 Instrukcja switch 75 Zagnieżdżanie instrukcji switch 78 Pętla for 80 Wariacje na temat pętli for 81 Brakujące elementy 82 Pętla nieskończona 83 Pętle bez ciała 83 Deklaracja zmiennych sterujących wewnątrz pętli 84 Rozszerzona pętla for 85 Pętla while 85 Pętla do-while 86 Przerywanie pętli instrukcją break 90 Zastosowanie break jako formy goto 91 Zastosowanie instrukcji continue 95 Pętle zagnieżdżone 99 Test sprawdzający 99 4. Wprowadzenie do klas, obiektów i metod 101 Podstawy klas 101 Ogólna postać klasy 102 Definiowanie klasy 102 Jak powstają obiekty 105 Referencje obiektów i operacje przypisania 105 Metody 106 Dodajemy metodę do klasy Vehicle 106 Powrót z metody 108 Zwracanie wartości 109 Stosowanie parametrów 110 Dodajemy sparametryzowaną metodę do klasy Vehicle 112 Konstruktory 117 Konstruktory z parametrami 118 Dodajemy konstruktor do klasy Vehicle 119 Operator new 120 Odzyskiwanie pamięci 120 Słowo kluczowe this 121 Test sprawdzający 122 5. Więcej typów danych i operatorów 123 Tablice 123 Tablice jednowymiarowe 124 Tablice wielowymiarowe 128 Tablice dwuwymiarowe 128 Tablice nieregularne 129 Tablice o trzech i więcej wymiarach 130 Inicjalizacja tablic wielowymiarowych 130 Alternatywna składnia deklaracji tablic 131 Przypisywanie referencji tablic 131 Wykorzystanie składowej length 132 Styl for-each pętli for 137 Iteracje w tablicach wielowymiarowych 139 Zastosowania rozszerzonej pętli for 140 Łańcuchy znaków 141 Tworzenie łańcuchów 141 Operacje na łańcuchach 142 Tablice łańcuchów 144 Łańcuchy są niezmienne 144 Stosowanie łańcuchów do sterowania instrukcją switch 145 Wykorzystanie argumentów wywołania programu 146 Operatory bitowe 147 Operatory bitowe AND, OR, XOR i NOT 147 Operatory przesunięcia 151 Skrótowe bitowe operatory przypisania 153 Operator ? 155 Test sprawdzający 157 6. Więcej o metodach i klasach 159 Kontrola dostępu do składowych klasy 159 Modyfikatory dostępu w Javie 160 Przekazywanie obiektów do metod 164 Sposób przekazywania argumentów 165 Zwracanie obiektów 167 Przeciążanie metod 169 Przeciążanie konstruktorów 173 Rekurencja 177 Słowo kluczowe static 178 Bloki static 181 Klasy zagnieżdżone i klasy wewnętrzne 184 Zmienne liczby argumentów 186 Metody o zmiennej liczbie argumentów 187 Przeciążanie metod o zmiennej liczbie argumentów 189 Zmienna liczba argumentów i niejednoznaczność 190 Test sprawdzający 191 7. Dziedziczenie 193 Podstawy dziedziczenia 193 Dostęp do składowych a dziedziczenie 196 Konstruktory i dziedziczenie 198 Użycie słowa kluczowego super do wywołania konstruktora klasy bazowej 199 Użycie słowa kluczowego super do dostępu do składowych klasy bazowej 203 Wielopoziomowe hierarchie klas 206 Kiedy wywoływane są konstruktory? 208 Referencje klasy bazowej i obiekty klasy pochodnej 209 Przesłanianie metod 213 Przesłanianie metod i polimorfizm 215 Po co przesłaniać metody? 216 Zastosowanie przesłaniania metod w klasie TwoDShape 217 Klasy abstrakcyjne 220 Słowo kluczowe final 223 final zapobiega przesłanianiu 223 final zapobiega dziedziczeniu 223 Użycie final dla zmiennych składowych 224 Klasa Object 225 Test sprawdzający 226 8. Pakiety i interfejsy 227 Pakiety 227 Definiowanie pakietu 228 Wyszukiwanie pakietów i zmienna CLASSPATH 229 Prosty przykład pakietu 229 Pakiety i dostęp do składowych 230 Przykład dostępu do pakietu 231 Składowe chronione 232 Import pakietów 234 Biblioteka klas Java używa pakietów 235 Interfejsy 235 Implementacje interfejsów 237 Referencje interfejsu 240 Zmienne w interfejsach 245 Interfejsy mogą dziedziczyć 246 Domyślne metody interfejsów 247 Podstawowe informacje o metodach domyślnych 248 Praktyczny przykład metody domyślnej 249 Problemy wielokrotnego dziedziczenia 250 Stosowanie metod statycznych w interfejsach 251 Stosowanie metod prywatnych w interfejsach 252 Ostatnie uwagi o pakietach i interfejsach 253 Test sprawdzający 253 9. Obsługa wyjątków 255 Hierarchia wyjątków 256 Podstawy obsługi wyjątków 256 Słowa kluczowe try i catch 256 Prosty przykład wyjątku 257 Konsekwencje nieprzechwycenia wyjątku 259 Wyjątki umożliwiają obsługę błędów 260 Użycie wielu klauzul catch 261 Przechwytywanie wyjątków klas pochodnych 261 Zagnieżdżanie bloków try 263 Generowanie wyjątku 264 Powtórne generowanie wyjątku 264 Klasa Throwable 265 Klauzula finally 267 Użycie klauzuli throws 268 Trzy dodatkowe możliwości wyjątków 269 Wyjątki wbudowane w Javę 270 Tworzenie klas pochodnych wyjątków 272 Test sprawdzający 276 10. Obsługa wejścia i wyjścia 279 Strumienie wejścia i wyjścia 280 Strumienie bajtowe i strumienie znakowe 280 Klasy strumieni bajtowych 280 Klasy strumieni znakowych 280 Strumienie predefiniowane 281 Używanie strumieni bajtowych 282 Odczyt wejścia konsoli 282 Zapis do wyjścia konsoli 284 Odczyt i zapis plików za pomocą strumieni bajtowych 285 Odczyt z pliku 285 Zapis w pliku 288 Automatyczne zamykanie pliku 290 Odczyt i zapis danych binarnych 292 Pliki o dostępie swobodnym 296 Strumienie znakowe 298 Odczyt konsoli za pomocą strumieni znakowych 298 Obsługa wyjścia konsoli za pomocą strumieni znakowych 301 Obsługa plików za pomocą strumieni znakowych 302 Klasa FileWriter 302 Klasa FileReader 303 Zastosowanie klas opakowujących do konwersji łańcuchów numerycznych 304 Test sprawdzający 311 11. Programowanie wielowątkowe 313 Podstawy wielowątkowości 313 Klasa Thread i interfejs Runnable 314 Tworzenie wątku 315 Usprawnienie i dwie modyfikacje 318 Tworzenie wielu wątków 323 Jak ustalić, kiedy wątek zakończył działanie? 326 Priorytety wątków 328 Synchronizacja 331 Synchronizacja metod 331 Synchronizacja instrukcji 334 Komunikacja międzywątkowa 336 Przykład użycia metod wait() i notify() 337 Wstrzymywanie, wznawianie i kończenie działania wątków 341 Test sprawdzający 346 12. Typy wyliczeniowe, automatyczne opakowywanie, import składowych statycznych i adnotacje 347 Wyliczenia 348 Podstawy wyliczeń 348 Wyliczenia są klasami 350 Metody values() i valueOf() 350 Konstruktory, metody, zmienne instancji a wyliczenia 351 Dwa ważne ograniczenia 353 Typy wyliczeniowe dziedziczą po klasie Enum 353 Automatyczne opakowywanie 358 Typy opakowujące 359 Podstawy automatycznego opakowywania 360 Automatyczne opakowywanie i metody 361 Automatyczne opakowywanie i wyrażenia 362 Przestroga 364 Import składowych statycznych 364 Adnotacje (metadane) 366 Test sprawdzający 369 13. Typy sparametryzowane 371 Podstawy typów sparametryzowanych 372 Prosty przykład typów sparametryzowanych 372 Parametryzacja dotyczy tylko typów obiektowych 375 Typy sparametryzowane różnią się dla różnych argumentów 375 Klasa sparametryzowana o dwóch parametrach 376 Ogólna postać klasy sparametryzowanej 377 Ograniczanie typów 377 Stosowanie argumentów wieloznacznych 380 Ograniczanie argumentów wieloznacznych 382 Metody sparametryzowane 384 Konstruktory sparametryzowane 386 Interfejsy sparametryzowane 386 Typy surowe i tradycyjny kod 392 Wnioskowanie typów i operator diamentowy 395 Wymazywanie 396 Błędy niejednoznaczności 396 Ograniczenia związane z typami sparametryzowanymi 397 Zakaz tworzenia instancji parametru typu 397 Ograniczenia dla składowych statycznych 397 Ograniczenia tablic sparametryzowanych 398 Ograniczenia związane z wyjątkami 399 Dalsze studiowanie typów sparametryzowanych 399 Test sprawdzający 399 14. Wyrażenia lambda i referencje metod 401 Przedstawienie wyrażeń lambda 402 Podstawowe informacje o wyrażeniach lambda 402 Interfejsy funkcyjne 403 Wyrażenia lambda w działaniu 405 Blokowe wyrażenia lambda 408 Sparametryzowane interfejsy funkcyjne 409 Wyrażenia lambda i przechwytywanie zmiennych 415 Zgłaszanie wyjątków w wyrażeniach lambda 416 Referencje metod 417 Referencje metod statycznych 417 Referencje metod instancyjnych 419 Referencje konstruktorów 423 Predefiniowane interfejsy funkcyjne 425 Test sprawdzający 426 15. Moduły 429 Podstawowe informacje o modułach 430 Przykład prostego modułu 431 Kompilowanie i uruchamianie przykładowej aplikacji 434 Dokładniejsze informacje o instrukcjach requires i exports 435 java.base i moduły platformy 436 Stary kod i moduł nienazwany 437 Eksportowanie do konkretnego modułu 438 Wymagania przechodnie 439 Stosowanie usług 443 Podstawowe informacje o usługach i dostawcach usług 444 Słowa kluczowe związane z usługami 444 Przykład stosowania usług i modułów 445 Dodatkowe cechy modułów 451 Moduły otwarte 451 Instrukcja opens 451 requires static 451 Dalsze samodzielne poznawanie modułów 452 Test sprawdzający 453 16. Wprowadzenie do Swing 455 Pochodzenie i filozofia Swing 456 Komponenty i kontenery 457 Komponenty 458 Kontenery 458 Panele kontenerów szczytowych 459 Menedżery układu 459 Pierwszy program wykorzystujący Swing 460 Pierwszy program Swing wiersz po wierszu 461 Obsługa zdarzeń w Swing 464 Zdarzenia 464 Obiekty nasłuchujące 465 Klasy zdarzeń i interfejsy obiektów nasłuchujących 465 Komponent JButton 465 Komponent JTextField 468 Komponent JCheckBox 471 Komponent JList 474 Wykorzystanie anonimowych klas wewnętrznych lub wyrażeń lambda do obsługi zdarzeń 481 Test sprawdzający 482 17. Wprowadzenie do JavaFX 485 Podstawowe pojęcia JavaFX 486 Pakiety JavaFX 486 Klasy Stage oraz Scene 486 Węzły i graf sceny 487 Układy 487 Klasa Application oraz metody cyklu życia 487 Uruchamianie aplikacji JavaFX 488 Szkielet aplikacji JavaFX 488 Kompilacja i uruchamianie programów JavaFX 491 Wątek aplikacji 491 Prosta kontrolka JavaFX: Label 491 Stosowanie przycisków i zdarzeń 493 Podstawy obsługi zdarzeń 493 Przedstawienie kontrolki Button 494 Przedstawienie obsługi zdarzeń i stosowania przycisków 494 Trzy kolejne kontrolki JavaFX 497 Pola wyboru 497 Listy 501 Pola tekstowe 505 Przedstawienie efektów i transformacji 508 Efekty 508 Transformacje 509 Prezentacja zastosowania efektów i transformacji 511 Co dalej? 513 Test sprawdzający 514 A. Rozwiązania testów sprawdzających 515 Rozdział 1. Podstawy Javy 515 Rozdział 2. Typy danych i operatory 517 Rozdział 3. Instrukcje sterujące 518 Rozdział 4. Wprowadzenie do klas, obiektów i metod 520 Rozdział 5. Więcej typów danych i operatorów 521 Rozdział 6. Więcej o metodach i klasach 524 Rozdział 7. Dziedziczenie 528 Rozdział 8. Pakiety i interfejsy 529 Rozdział 9. Obsługa wyjątków 531 Rozdział 10. Obsługa wejścia i wyjścia 533 Rozdział 11. Programowanie wielowątkowe 536 Rozdział 12. Typy wyliczeniowe, automatyczne opakowywanie, import składowych statycznych i adnotacje 538 Rozdział 13. Typy sparametryzowane 541 Rozdział 14. Wyrażenia lambda i referencje metod 544 Rozdział 15. Moduły 547 Rozdział 16. Wprowadzenie do Swing 548 Rozdział 17. Wprowadzenie do JavaFX 552 B. Komentarze dokumentacyjne 557 Znaczniki javadoc 557 @author 558 {@code} 558 @deprecated 558 {@docRoot} 559 @exception 559 @hidden 559 {@index} 559 {@inheritDoc} 559 {@link} 559 {@linkplain} 560 {@literal} 560 @param 560 @provides 560 @return 560 @see 560 @since 560 @throws 561 @uses 561 {@value} 561 @version 561 Ogólna postać komentarza dokumentacyjnego 561 Wynik działania programu javadoc 561 Przykład użycia komentarzy dokumentacyjnych 562 C. Przegląd technologii Java Web Start 563 Czym jest Java Web Start? 563 Cztery kluczowe aspekty Java Web Start 564 Aplikacje Java Web Start wymagają pliku JAR 564 Aplikacje Java Web Start są podpisywane cyfrowo 564 Java Web Start bazuje na JNLP 565 Tworzenie odnośnika do pliku JNLP 566 Eksperymenty z Java Web Start z wykorzystaniem lokalnego systemu plików 567 Utworzenie pliku JAR aplikacji ButtonDemo 567 Utworzenie magazynu kluczy i podpisanie pliku ButtonDemo.jar 568 Utworzenie pliku JNLP dla aplikacji ButtonDemo 569 Utworzenie pliku HTML o nazwie StartBD.html 570 Dodanie pliku ButtonDemo.jnlp do listy wyjątków w aplikacji Java Control Panel 570 Wykonanie aplikacji ButtonDemo z poziomu przeglądarki 570 Uruchamianie aplikacji Java Web Start przy użyciu programu javaws 571 Stosowanie technologii Java Web Start z apletami 571 D. Wprowadzenie do JShell 573 Podstawy JShell 573 Wyświetlanie, edycja i ponowne wykonywanie kodu 575 Dodanie metody 576 Utworzenie klasy 577 Stosowanie interfejsu 577 Przetwarzanie wyrażeń i wbudowane zmienne 578 Importowanie pakietów 579 Wyjątki 579 Inne polecenia JShell 580 Dalsze poznawanie możliwości JShell 581 E. Więcej słów kluczowych języka Java 583 Modyfikatory transient i volatile 583 instanceof 584 strictfp 584 assert 584 Metody rodzime 585 Inna postać this 585 Skorowidz 587 O autorze: Herb Schildt - jest jednym z najpopularniejszych autorów książek o programowaniu. Jest autorytetem w sprawach języków C, C++, Java i C#, a także doskonałym programistą systemu Windows. Był członkiem komitetu ANSI/ISO, który dokonał standaryzacji języka C++. Jego książki sprzedały się na całym świecie w ponad 3 milionach egzemplarzy i zostały przetłumaczone na większość języków.

Specyfikacja

Podstawowe informacje

Autor
  • Herbert Schildt
Wybrani autorzy
  • Herbert Schildt
Rok wydania
  • 2018
Wybrane wydawnictwa
  • Helion