CHF38.90
Download steht sofort bereit
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.
Aus dem Inhalt:
Annotations einsetzen
Inhalt
Einleitung ... 21
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
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
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
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
Zeichenkettenverarbeitung ... 141
5.1 ... Die Klasse String und ihre Eigenschaften ... 141
5.2 ... Dynamische Strings mit StringBuilder ... 155
5.3 ... Lösungsvorschläge ... 160
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
Geschachtelte Typen ... 269
7.1 ... Geschachtelte Typen deklarieren ... 269
7.2 ... Geschachtelte-Typen-Quiz ... 271
7.3 ... Lösungsvorschläge ... 272
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
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
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
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
Mathematisches ... 389
12.1 ... Die Klasse Math ... 389
12.2 ... Große und sehr präzise Zahlen ... 392
12.3 ... Lösungsvorschläge ... 395
Raum und Zeit ... 405
13.1 ... Sprachen und Länder ... 406
13.2 ... Datum- und Zeit-Klassen ... 407
13.3 ... Lösungsvorschläge ... 410
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
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
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
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
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
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
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
Datenbankzugriffe mit JDBC ... 703
21.1 ... Datenbankmanagementsysteme ... 704
21.2 ... Datenbankabfragen ... 704
21.3 ... Lösungsvorschläge ... 712
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
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