Captain CiaoCiao erobert Java

Das Trainingsbuch zur Java-Insel. 300 Aufgaben mit kommentierten Lösungen für besseres Java
Buch | Hardcover
779 Seiten
2021 | 1. Auflage
Rheinwerk (Verlag)
978-3-8362-8427-1 (ISBN)

Lese- und Medienproben

Captain CiaoCiao erobert Java - Christian Ullenboom
39,90 inkl. MwSt
  • 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
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?
Mehr entdecken
aus dem Bereich