Captain CiaoCiao erobert Java
Rheinwerk (Verlag)
978-3-8362-8427-1 (ISBN)
- 300 Aufgaben mit kommentierten Lösungen auf verschiedenen Niveaus
- Für alle Paradigmen: objektorientiert, imperativ und funktional
- Clean Code, fremden Code lesen, objektorientiert modellieren
Das große Trainingsbuch für Ihre Java-Skills – vom Autor des Klassikers "Java ist auch eine Insel".
Heben Sie Ihre Coding-Fähigkeiten auf das nächste Level. Java-Champion Christian Ullenboom bietet Ihnen alles, was sie dazu brauchen: Übungen zu Features und Kniffen, die man als Profi kennen sollte, guten Beispielcode und Material auf verschiedenen Niveaus. Ob Clean Code, objektorientierte Modellierung oder eine gründliche Prüfung der Reflection-API: Captain CiaoCiao und seine Gefährtin Bonny Brain bringen Sie von einem Abenteuer zum nächsten und helfen Ihnen, beim Programmieren mit Java immer besser zu werden. Mit vielen Praxistipps, erhellenden Details und ausführlichen Lösungen. Das umfangreiche Übungsmaterial wurde in langjähriger Dozententätigkeit entwickelt und erprobt.
Leinen los, volle Kraft voraus – So erobern Sie Java!
Umfassendes Übungsmaterial
Dieses Buch bietet Ihnen zahlreiche Übungen auf verschiedenen Niveaus, Feature für Feature, Skill für Skill, inklusive ausführlichen Lösungen. Die Übungen hat Christian Ullenboom in jahrelanger Dozententätigkeit entwickelt und erprobt. Das Buch eignet sich hervorragend als Ergänzung zur beliebten Java-Insel, lässt sich aber auch unabhängig davon nutzen. Thematisch folgt es dem Aufbau der Java-Insel, von einfacher imperativer Programmierung bis zur Reflection-API und Annotations.
Immer professioneller werden
Schreiben Sie Code so, dass er Ihnen auch nach Jahren noch gefällt – lesbar, wartbar, tragfähig. Nutzen Sie nicht irgendein Feature, mit dem sich der Job erledigen lässt, sondern genau das richtige. Bleiben Sie dran, auch wenn Sie schon vieles können. In diesem Buch finden Sie garantiert den passenden Workshop, um noch besser zu werden.
Viele Werkzeuge
Captain CiaoCiao und seine Gefährtin Bonny Brain haben sich ein großes Gebiet für ihr Piratenabenteuer vorgenommen. Java mit seiner Standardbibliothek hält sehr viele Werkzeuge für spezielle Aufgaben bereit. Wollten Sie schon immer mal Googles Guava kennenlernen oder Statistiken in ansprechende Charts verwandeln? Mit Brain und CiaoCiao kommen Sie sicher ans Ziel.
Design, Code, Modellierung
Haben Sie Zweifel, wie Sie Ihren Code geschickt in Klassen zerlegen? Trainieren Sie die objektorientierte Modellierung und erfahren Sie, wie Sie die Komplexität großer Systeme in den Griff bekommen. OOP spielt dabei die Hauptrolle, mit CiaoCiao entdecken Sie aber auch, was Java für das funktionale Paradigma zu bieten hat.
Aus dem Inhalt:
Alle Basics
Themen auf vielen Niveaus
Übungen in drei Schwierigkeitsstufen
Reflection-API
Threadsicherheit
Mustererkennung bei Strings
Funktionale Programmierung
XML, JSON und mehr verarbeiten
Datenbank-Pools
Die Stream-API
Annotations einsetzen
Java-Champion und Erfolgsautor Christian Ullenboom legt auch als Dozent viel Wert auf gutes Übungsmaterial. Seit langer Zeit erstellt er Übungen, erprobt sie in seinen Kursen und verbessert dabei seine Sammlung. Außerdem ständig aktualisiert, ist sie nun die Grundlage für dieses Buch. Sein umfassendes Handbuch "Java ist auch eine Insel" nebst Pendant über die Standardbibliotheken bringen Lernenden seit bald 20 Jahren das Java-Universum näher. Auch sie sind aus der Dozententätigkeit heraus entstanden. Als Hobby hat Christian Ullenboom in Dortmund ein großes Heimcomputer- und Spielkonsolenmuseum aufgebaut, das BINARIUM. Er begann seine Programmierkarriere auf einem C64, kennt Assembler aus eigener Anschauung, hat Informatik und Psychologie studiert und programmiert auch in TypeScript, JavaScript, Kotlin und Python. Aber trotz allem, was sich dort erleben lässt, ist Java immer seine Heimatinsel geblieben.
Einleitung ... 21
1. Java ist auch eine Sprache ... 31
1.1 ... Bytecode und JVM ... 31
1.2 ... Werkzeuge für Java-Entwickler ... 32
1.3 ... Lösungsvorschläge ... 34
2. Imperative Sprachkonzepte ... 37
2.1 ... Bildschirmausgaben ... 38
2.2 ... Variablen und Datentypen ... 40
2.3 ... Ausdrücke, Operanden und Operatoren ... 43
2.4 ... Fallunterscheidungen ... 46
2.5 ... Schleifen ... 49
2.6 ... Methoden ... 57
2.7 ... Lösungsvorschläge ... 61
3. Klassen, Objekte, Pakete ... 101
3.1 ... Objekte erzeugen ... 101
3.2 ... Import und Pakete ... 103
3.3 ... Arbeiten mit Referenzen ... 104
3.4 ... Lösungsvorschläge ... 106
4. Arrays ... 111
4.1 ... Alles hat einen Typ ... 111
4.2 ... Eindimensionale Arrays ... 112
4.3 ... Erweiterte for-Schleife ... 116
4.4 ... Zwei- und mehrdimensionale Arrays ... 117
4.5 ... Variable Argumentlisten ... 118
4.6 ... Die Utility-Klasse Arrays ... 120
4.7 ... Lösungsvorschläge ... 121
5. Zeichenkettenverarbeitung ... 141
5.1 ... Die Klasse String und ihre Eigenschaften ... 141
5.2 ... Dynamische Strings mit StringBuilder ... 155
5.3 ... Lösungsvorschläge ... 160
6. Eigene Klassen schreiben ... 213
6.1 ... Klassendeklaration und Objekteigenschaften ... 214
6.2 ... Statische Eigenschaften ... 217
6.3 ... Aufzählungen ... 219
6.4 ... Konstruktoren ... 220
6.5 ... Assoziationen ... 222
6.6 ... Vererbung ... 224
6.7 ... Polymorphie und dynamisches Binden ... 228
6.8 ... Abstrakte Klassen und abstrakte Methoden ... 231
6.9 ... Schnittstellen ... 233
6.10 ... Lösungsvorschläge ... 237
7. Geschachtelte Typen ... 269
7.1 ... Geschachtelte Typen deklarieren ... 269
7.2 ... Geschachtelte-Typen-Quiz ... 271
7.3 ... Lösungsvorschläge ... 272
8. Exceptions ... 277
8.1 ... Exception fangen ... 278
8.2 ... Eigene Ausnahmen auslösen ... 281
8.3 ... Eigene Ausnahmeklassen schreiben ... 282
8.4 ... try-mit-Ressourcen ... 283
8.5 ... Lösungsvorschläge ... 286
9. Lambda-Ausdrücke und funktionale Programmierung ... 301
9.1 ... Lambda-Ausdrücke ... 302
9.2 ... Methoden- und Konstruktorreferenzen ... 308
9.3 ... Ausgewählte funktionale Schnittstellen ... 308
9.4 ... Lösungsvorschläge ... 310
10. Besondere Typen aus der Java-Bibliothek ... 317
10.1 ... Absolute Oberklasse java.lang.Object ... 318
10.2 ... Schnittstellen Comparator und Comparable ... 320
10.3 ... Autoboxing ... 327
10.4 ... Aufzählungstypen (enum) ... 328
10.5 ... Lösungsvorschläge ... 332
11. Fortgeschrittene Zeichenkettenverarbeitung ... 357
11.1 ... Strings formatieren ... 358
11.2 ... Reguläre Ausdrücke und Mustererkennung ... 359
11.3 ... Zeichenketten in Tokens zerlegen ... 362
11.4 ... Zeichenkodierungen und Unicode-Collation-Algorithmus ... 367
11.5 ... Lösungsvorschläge ... 368
12. Mathematisches ... 389
12.1 ... Die Klasse Math ... 389
12.2 ... Große und sehr präzise Zahlen ... 392
12.3 ... Lösungsvorschläge ... 395
13. Raum und Zeit ... 405
13.1 ... Sprachen und Länder ... 406
13.2 ... Datum- und Zeit-Klassen ... 407
13.3 ... Lösungsvorschläge ... 410
14. Nebenläufige Programmierung mit Threads ... 419
14.1 ... Anlegen von Threads ... 420
14.2 ... Ausgeführt und stillgestanden ... 424
14.3 ... Thread-Pools und Ergebnisse ... 427
14.4 ... Kritische Abschnitte schützen ... 429
14.5 ... Thread-Kooperation und Synchronisationshelfer ... 432
14.6 ... Lösungsvorschläge ... 437
15. Datenstrukturen und Algorithmen ... 461
15.1 ... Die Schnittstellen der Collection-API ... 463
15.2 ... Listen ... 465
15.3 ... Mengen ... 475
15.4 ... Assoziativspeicher ... 480
15.5 ... Properties ... 488
15.6 ... Stapelspeicher (Stack) und Warteschlangen (Queue) ... 490
15.7 ... BitSet ... 491
15.8 ... Threadsichere Datenstrukturen ... 492
15.9 ... Lösungsvorschläge ... 496
16. Java-Stream-API ... 559
16.1 ... Reguläre Ströme mit ihren terminalen und intermediären Operationen ... 560
16.2 ... Primitive Ströme ... 567
16.3 ... Statistiken ... 571
16.4 ... Lösungsvorschläge ... 574
17. Dateien und wahlfreier Zugriff auf Dateiinhalte ... 605
17.1 ... Path und Files ... 606
17.2 ... Wahlfreier Zugriff auf Dateiinhalte ... 610
17.3 ... Lösungsvorschläge ... 611
18. Ein-/Ausgabeströme ... 625
18.1 ... Direkte Datenströme ... 627
18.2 ... Ströme verschachteln ... 632
18.3 ... Serialisierung ... 633
18.4 ... Lösungsvorschläge ... 635
19. Netzwerkprogrammierung ... 657
19.1 ... URL und URLConnection ... 658
19.2 ... HTTP-Client (Java 11) ... 660
19.3 ... Socket und ServerSocket ... 661
19.4 ... Lösungsvorschläge ... 663
20. XML, JSON und weitere Datenformate mit Java verarbeiten ... 675
20.1 ... XML-Verarbeitung mit Java ... 676
20.2 ... JSON ... 681
20.3 ... HTML ... 683
20.4 ... Office-Dokumente ... 684
20.5 ... Archive ... 685
20.6 ... Lösungsvorschläge ... 686
21. Datenbankzugriffe mit JDBC ... 703
21.1 ... Datenbankmanagementsysteme ... 704
21.2 ... Datenbankabfragen ... 704
21.3 ... Lösungsvorschläge ... 712
22. Schnittstellen zum Betriebssystem ... 727
22.1 ... Konsole ... 728
22.2 ... Properties ... 729
22.3 ... Externe Prozesse ausführen ... 731
22.4 ... Lösungsvorschläge ... 732
23. Reflection, Annotationen und JavaBeans ... 741
23.1 ... Reflection-API ... 742
23.2 ... Annotationen ... 745
23.3 ... Lösungsvorschläge ... 747
Nachwort ... 757
A. Häufige Typen und Methoden im Java-Universum ... 759
A.1 ... Pakete mit den häufigsten Typen ... 759
A.2 ... Die 100 häufigsten Typen ... 761
A.3 ... Die 100 häufigsten Methoden ... 765
A.4 ... Die 100 häufigsten Methoden inklusive Parameterliste ... 769
Index ... 775
»Die ideale Ergänzung zur Java-Insel!« EKZ-Informationsdienst 202107
»Die ideale Ergänzung zur Java-Insel!«
»Dieses Buch ist nicht nur für Neueinsteiger in die Sprache
Java, sondern auch für alte Hasen zu empfehlen.«
Erscheinungsdatum | 24.05.2021 |
---|---|
Verlagsort | Bonn |
Sprache | deutsch |
Maße | 168 x 240 mm |
Einbandart | gebunden |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► Java |
Informatik ► Software Entwicklung ► Objektorientierung | |
Schlagworte | Clean Code • Funktionale Programmierung • Hand-Buch Bücher Lernen Wissen Training Kurse Seminare Workshops Ausbildung Beruf Studium • Java in der Praxis • Objektorientierung • OOP • Programmieren Entwickeln • Software-Entwicklung • Streams Datenbanken • Testing Quellcode Strings |
ISBN-10 | 3-8362-8427-8 / 3836284278 |
ISBN-13 | 978-3-8362-8427-1 / 9783836284271 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich