Java. Rusz głową! Wydanie III Tarnowskie Góry

Technologie bazujące na Javie są wszędzie! Od momentu pojawienia się pierwszej wersji Java pociągała programistów ze względu na przyjazną składnię, cechy obiektowe, zarządzanie pamięcią, a przede wszystkim obietnicę przenośności. Mijają lata, a Java wciąż cieszy się ogromną popularnością, jest …

od 74,50 Najbliżej: 21 km

Liczba ofert: 1

Oferta sklepu

Opis

Technologie bazujące na Javie są wszędzie! Od momentu pojawienia się pierwszej wersji Java pociągała programistów ze względu na przyjazną składnię, cechy obiektowe, zarządzanie pamięcią, a przede wszystkim obietnicę przenośności. Mijają lata, a Java wciąż cieszy się ogromną popularnością, jest sukcesywnie rozwijana i używana do coraz to nowszych zastosowań. Wszystko wskazuje na to, że jeszcze długo programiści biegle posługujący się tym językiem będą mieli pełne ręce roboty. Ta książka, podobnie jak inne pozycje z serii Rusz głową!, została przygotowana zgodnie z jedyną w swoim rodzaju metodyką nauczania, wykorzystującą zasady funkcjonowania ludzkiego mózgu. Dzięki zagadkom, tajemnicom do rozwiązania, zabawnym ćwiczeniom i przystępnie podanej wiedzy bez trudu przyswoisz nawet dość złożone koncepcje, takie jak wyrażenia lambda, typy ogólne czy programowanie sieciowe i funkcyjne. Znajdziesz tu zabawne i niekonwencjonalne ilustracje, świetne analogie, pogawędki prowadzone przy kominku przez programistę i kompilator. To wszystko sprawia, że ta pozycja jest absolutnie wyjątkowym i niezwykle skutecznym podręcznikiem! Dzięki książce: błyskawicznie przyswoisz podstawy Javy zagłębisz się w tajniki obiektów, klas i dziedziczenia zrozumiesz istotę wyrażeń lambda, strumieni i kolekcji napiszesz graficzny interfejs użytkownika nauczysz się korzystać z biblioteki Swing zaczniesz rozwiązywać problemy współbieżności i pracować z wątkami To najbardziej zajmująca książka do nauki programowania, jaką kiedykolwiek widziałam! Angie Jones, Java Champion Spis treści: Wprowadzenie Dla kogo jest przeznaczona ta książka? Wiemy, co sobie myślisz Metapoznanie - myślenie o myśleniu Oto co zrobiliśmy Oto co możesz zrobić, aby zmusić swój mózg do posłuszeństwa Czego potrzebujesz, aby skorzystać z tej książki? Kilka ostatnich spraw, o których musisz wiedzieć 1. Przełamując zalew początkowych trudności Jak działa Java? Co będziesz robić w Javie? Krótka historia Javy Struktura kodu w Javie Tworzenie klasy z metodą main() Pętle i pętle, i. Rozgałęzienia warunkowe Tworzenie poważnej aplikacji biznesowej Program krasomówczy Ćwiczenia Rozwiązania ćwiczeń 2. Wycieczka do Obiektowa Wojna o fotel Tworzenie pierwszego obiektu Tworzenie i testowanie obiektów Film Szybko! Opuszczamy metodę main()! Uruchamianie zgadywanki Ćwiczenia Rozwiązania ćwiczeń 3. Poznaj swoje zmienne Deklarowanie zmiennej "Proszę podwójną. Albo nie - całkowitą!" Trzymaj się z daleka od tego słowa kluczowego! Kontrolowanie obiektu Pies Odwołanie do obiektu to jedynie inna wartość zmiennej Życie na odśmiecanej stercie Tablica jest jakby tacą z kubkami Tworzymy tablicę obiektów Pies Ćwiczenia Rozwiązania ćwiczeń 4. Jak działają obiekty? Pamiętaj! Klasa opisuje to, co obiekt wie, oraz to, co robi Wielkość ma wpływ na sposób szczekania Do metod można przekazywać informacje Metoda może coś zwrócić Do metody można przekazać więcej niż jedną informację Ciekawe rozwiązania wykorzystujące parametry i wartości wynikowe Hermetyzacja Jak zachowują się obiekty w tablicy? Deklarowanie i inicjalizacja zmiennych instancyjnych Porównywanie zmiennych (typów podstawowych oraz odwołań) Ćwiczenia Rozwiązania ćwiczeń 5. Supermocne metody Napiszmy grę przypominającą okręty, o nazwie "Zatopić startup" Tworzenie klasy Pisanie kodu testowego dla klasy ProstyStartup Metoda sprawdz() Kod przygotowawczy klasy ProstyStartupGra Metoda main() gry Zagrajmy Trochę więcej o pętlach for Rozszerzone pętle for Rzutowanie wartości typów podstawowych Ćwiczenia Rozwiązania ćwiczeń 6. Korzystanie z biblioteki Javy Ostatni rozdział zakończył się w dramatycznych okolicznościach - w programie znaleźliśmy błąd Obudź się i przejrzyj bibliotekę Niektóre możliwości klasy ArrayList Porównanie klasy ArrayList ze zwyczajną tablicą Napiszmy WŁAŚCIWĄ wersję gry "Zatopić startup" Kod przygotowawczy właściwej klasy StartupGraMax Ostateczna wersja klasy Startup Wyrażenia logiczne o bardzo dużych możliwościach Stosowanie biblioteki (Java API) Ćwiczenia Rozwiązania ćwiczeń 7. Wygodniejsze życie w Obiektowie Wojna o fotel raz jeszcze. Zrozumienie dziedziczenia Zaprojektujmy drzewo dziedziczenia dla programu symulacji zwierząt Poszukiwanie dalszych możliwości zastosowania dziedziczenia Relacje JEST oraz MA Jak możesz określić, czy dobrze zaprojektowałeś hierarchię dziedziczenia? Czy korzystanie z dziedziczenia przy projektowaniu klas jest "używaniem", czy "nadużywaniem"? Jak dotrzymać kontraktu - reguły przesłaniania Przeciążanie metody Ćwiczenia Rozwiązania ćwiczeń 8. Poważny polimorfizm Czy projektując przedstawioną obok hierarchię klas, o czymś zapomnieliśmy? Kompilator nie pozwoli utworzyć obiektów klasy abstrakcyjnej Abstrakcyjne kontra konkretne MUSISZ zaimplementować wszystkie metody abstrakcyjne Polimorfizm w działaniu A co z obiektami innych klas? Dlaczego nie stworzyć listy, w której można by zapisać cokolwiek? Kiedy Pies nie zachowuje się jak Pies Rozważmy różne możliwości projektowe Tworzenie i implementowanie interfejsu ZwierzakDomowy Wywoływanie wersji metody zdefiniowanej w klasie bazowej Ćwiczenia Rozwiązania ćwiczeń 9. Życie i śmierć obiektu Stos i sterta. Gdzie są przechowywane dane? Metody są zapisywane na stosie A co ze zmiennymi lokalnymi, które są obiektami? Cud utworzenia obiektu Tworzenie obiektu Kaczka Czy kompilator zawsze tworzy dla nas konstruktor bezargumentowy? Nanoprzegląd. Cztery rzeczy o konstruktorach, które należy zapamiętać Znaczenie konstruktorów klasy bazowej w życiu obiektu Czy dziecko może istnieć przed rodzicami? A co ze zmiennymi referencyjnymi? Nie podoba mi się kierunek, w jakim to wszystko zmierza Ćwiczenia Rozwiązania ćwiczeń 10. Liczby mają znaczenie Metody klasy Math - najlepsze z możliwych odpowiedników metod globalnych Różnice pomiędzy metodami zwyczajnymi a statycznymi Inicjalizacja zmiennych statycznych Metody klasy Math Reprezentowanie wartości typów podstawowych w formie obiektów Automatyczna konwersja działa niemal wszędzie A teraz w przeciwnym kierunku. zamiana liczby na łańcuch znaków Formatowanie liczb Specyfikator formatu Ćwiczenia Rozwiązania ćwiczeń 11. Struktury danych Poznajemy API pakietu java.util, List i Collections Typy ogólne oznaczają większe bezpieczeństwo typów Ponownie odwiedzimy metodę sort() Nowa, poprawiona, porównywalna klasa Piosenka Sortowanie z wykorzystaniem wyłącznie komparatorów Zastosowanie wyrażeń lambda w kodzie aplikacji szafy grającej Wykorzystanie kolekcji HashSet zamiast ArrayList Co MUSIMY wiedzieć o klasie TreeSet. Poznaliśmy już listy i zbiory, teraz poznamy mapy W końcu wracamy do typów ogólnych Ćwiczenia Rozwiązania ćwiczeń 12. Wyrażenia lambda i strumienie: co, a nie jak Powiedz komputerowi, CZEGO chcesz Kiedy pętle for schodzą na złą drogę Prezentacja API strumieni Pobieranie wyników ze strumienia Wytyczne dotyczące stosowania strumieni Witaj, lambdo, nasz (niezbyt) stary przyjacielu Zauważanie interfejsów funkcyjnych Pierwsze wyzwanie Leona: znaleźć wszystkie rockowe utwory Drugie wyzwanie Leona: lista wszystkich gatunków Ćwiczenia Rozwiązania ćwiczeń 13. Ryzykowne zachowanie Stwórzmy program MuzMachina Przede wszystkim potrzebujemy sekwensera Wyjątek jest obiektem. klasy Exception Sterowanie przepływem w blokach try-catch Czy wspominaliśmy, że metoda może zgłaszać więcej niż jeden wyjątek? W przypadku użycia wielu bloków catch należy je uporządkować ze względu na zakres - od najmniejszego do największego Zrezygnowanie z obsługi wyjątku (poprzez jego zadeklarowanie) jedynie odsuwa w czasie to, co nieuniknione Kod od kuchni Wersja 1. Twój pierwszy odtwarzacz muzyki Wersja 2. Eksperymenty muzyczne z wykorzystaniem argumentów przekazywanych z wiersza poleceń Ćwiczenia Rozwiązania ćwiczeń 14. Historia bardzo graficzna Wszystko zaczyna się od okna Przechwytywanie zdarzeń generowanych przez działania użytkownika Odbiorcy, źródła i zdarzenia Stwórz własny komponent umożliwiający rysowanie Fajne operacje, jakie można realizować w metodzie paintComponent() Układy GUI - wyświetlanie w ramce więcej niż jednego komponentu Klasy wewnętrzne spieszą z pomocą! Wyrażenia lambda spieszą z pomocą (ponownie)! Wykorzystanie klas wewnętrznych do tworzenia animacji Prostszy sposób tworzenia komunikatów-zdarzeń Ćwiczenia Rozwiązania ćwiczeń 15. Popracuj nad Swingiem Komponenty biblioteki Swing Menedżery układu Wielka trójka menedżerów układu: BorderLayout, FlowLayout oraz BoxLayout Zabawy z komponentami biblioteki Swing Kod od kuchni Tworzenie aplikacji MuzMachina Ćwiczenia Rozwiązania ćwiczeń 16. Zapisywanie obiektów (i tekstu) Odczytywanie taktów Zapisywanie serializowanego obiektu do pliku Jeśli chcesz, aby klasa zapewniała możliwość serializacji, zaimplementuj w niej interfejs Serializable Deserializacja - odtwarzanie obiektów Identyfikator wersji - wielki problem serializacji Odczyt zawartości pliku tekstowego Kwiz - gra (zarys kodu) Typy Path, Paths i Files (zabawy z katalogami) Finalnie, bliższe spojrzenie na finally Zapisywanie kompozycji Ćwiczenia Rozwiązania ćwiczeń 17. Nawiąż połączenie Nawiązywanie połączenia, wysyłanie i odbieranie danych Program CodziennePoradyKlient Tworzenie prostej aplikacji serwera Możliwość stosowania wielu wątków w Javie zapewnia jedna klasa - Thread Trzy stany nowego wątku Usypianie wątku Tworzenie i uruchamianie dwóch (lub większej liczby!) wątków Koniec pracy w puli wątków Nowa i poprawiona wersja programu ProstyKlientPogawedek Ćwiczenia Rozwiązania ćwiczeń 18. Rozwiązywanie problemów współbieżności Problem Moniki i Roberta w formie kodu Stosowanie blokady obiektu Przerażający problem "utraconej modyfikacji" Zadeklaruj metodę inkrementuj() jako metodę atomową. Synchronizuj ją! Wzajemna blokada, mroczna strona wątków Operacje CAS z użyciem zmiennych atomowych Stosowanie niezmiennych obiektów Więcej problemów ze współużytkowanymi danymi Stosowanie struktur danych bezpiecznych pod względem wielowątkowym Ćwiczenia Rozwiązania ćwiczeń Dodatek A. Ostatnie doprawianie kodu Ostateczna wersja programu MuzMachina Ostateczna wersja serwera aplikacji MuzMachina Dodatek B. Jedenaście najważniejszych tematów, które nie zmieściły się w głównej części książki Nr 11. JShell (Java REPL) Nr 10. Pakiety Nr 9. Niezmienność w łańcuchach i klasach opakowujących Nr 8. Poziomy i modyfikatory dostępu (czyli kto co widzi) Nr 7. Zmienna lista argumentów Nr 6. Adnotacje Nr 5. Lambdy i mapy Nr 4. Strumienie równoległe Nr 3. Wyliczenia (nazywane także typami wyliczeniowymi) Nr 2. Wnioskowanie typów zmiennych lokalnych (słowo kluczowe var) Nr 1. Rekordy Skorowidz

Specyfikacja

Podstawowe informacje

Autor
  • Kathy Sierra, Bert Bates, Trisha Gee
Rok wydania
  • 2023
Format
  • PDF
Ilość stron
  • 700
Kategorie
  • Programowanie
Wybrane wydawnictwa
  • Helion