Java ist auch eine Insel

Inhaltsverzeichnis



  Materialien zum Buch ... 31

  Vorwort ... 33

  1.  Java ist auch eine Sprache ... 49

       1.1 ... Historischer Hintergrund ... 50

       1.2 ... Warum Java populär ist -- die zentralen Eigenschaften ... 52

       1.3 ... Java im Vergleich zu anderen Sprachen * ... 63

       1.4 ... Weiterentwicklung und Verluste ... 66

       1.5 ... Java-Plattformen: Java SE, Jakarta EE, Java ME, Java Card ... 70

       1.6 ... Java SE-Implementierungen ... 74

       1.7 ... JDK installieren ... 77

       1.8 ... Das erste Programm compilieren und testen ... 79

       1.9 ... Entwicklungsumgebungen ... 83

       1.10 ... Zum Weiterlesen ... 89

  2.  Imperative Sprachkonzepte ... 91

       2.1 ... Elemente der Programmiersprache Java ... 91

       2.2 ... Von der Klasse zur Anweisung ... 99

       2.3 ... Datentypen, Typisierung, Variablen und Zuweisungen ... 111

       2.4 ... Ausdrücke, Operanden und Operatoren ... 127

       2.5 ... Bedingte Anweisungen oder Fallunterscheidungen ... 151

       2.6 ... Immer das Gleiche mit den Schleifen ... 170

       2.7 ... Methoden einer Klasse ... 188

       2.8 ... Zum Weiterlesen ... 212

  3.  Klassen und Objekte ... 213

       3.1 ... Objektorientierte Programmierung (OOP) ... 213

       3.2 ... Eigenschaften einer Klasse ... 215

       3.3 ... Natürlich modellieren mit der UML (Unified Modeling Language) * ... 217

       3.4 ... Neue Objekte erzeugen ... 219

       3.5 ... ZZZZZnake ... 231

       3.6 ... Pakete schnüren, Importe und Compilationseinheiten ... 233

       3.7 ... Mit Referenzen arbeiten, Vielfalt, Identität, Gleichwertigkeit ... 241

       3.8 ... Zum Weiterlesen ... 253

  4.  Arrays und ihre Anwendungen ... 255

       4.1 ... Einfache Feldarbeit ... 255

       4.2 ... Die erweiterte for-Schleife ... 267

       4.3 ... Methode mit variabler Argumentanzahl (Varargs) ... 271

       4.4 ... Mehrdimensionale Arrays * ... 273

       4.5 ... Bibliotheksunterstützung von Arrays ... 279

       4.6 ... Die Klasse Arrays zum Vergleichen, Füllen, Suchen und Sortieren nutzen ... 282

       4.7 ... Der Einstiegspunkt für das Laufzeitsystem: main(...) ... 295

       4.8 ... Zum Weiterlesen ... 298

  5.  Der Umgang mit Zeichen und Zeichenketten ... 299

       5.1 ... Von ASCII über ISO-8859-1 zu Unicode ... 299

       5.2 ... Datentypen für Zeichen und Zeichenfolgen ... 307

       5.3 ... Die Character-Klasse ... 308

       5.4 ... Zeichenfolgen ... 313

       5.5 ... Die Klasse String und ihre Methoden ... 315

       5.6 ... Veränderbare Zeichenketten mit StringBuilder und StringBuffer ... 348

       5.7 ... CharSequence als Basistyp ... 357

       5.8 ... Konvertieren zwischen Primitiven und Strings ... 360

       5.9 ... Strings zusammenhängen (konkatenieren) ... 368

       5.10 ... Zerlegen von Zeichenketten ... 370

       5.11 ... Ausgaben formatieren ... 375

       5.12 ... Zum Weiterlesen ... 381

  6.  Eigene Klassen schreiben ... 383

       6.1 ... Eigene Klassen mit Eigenschaften deklarieren ... 383

       6.2 ... Privatsphäre und Sichtbarkeit ... 394

       6.3 ... Eine für alle -- statische Methoden und Klassenvariablen ... 405

       6.4 ... Konstanten und Aufzählungen ... 412

       6.5 ... Objekte anlegen und zerstören ... 420

       6.6 ... Klassen- und Objektinitialisierung * ... 434

       6.7 ... Zum Weiterlesen ... 443

  7.  Objektorientierte Beziehungsfragen ... 445

       7.1 ... Assoziationen zwischen Objekten ... 445

       7.2 ... Vererbung ... 455

       7.3 ... Typen in Hierarchien ... 465

       7.4 ... Methoden überschreiben ... 479

       7.5 ... Drum prüfe, wer sich dynamisch bindet ... 485

       7.6 ... Finale Klassen und finale Methoden ... 488

       7.7 ... Abstrakte Klassen und abstrakte Methoden ... 490

       7.8 ... Weiteres zum Überschreiben und dynamischen Binden ... 499

       7.9 ... Zum Weiterlesen und Programmieraufgabe ... 505

  8.  Records, Schnittstellen, Aufzählungen, versiegelte Klassen ... 507

       8.1 ... Records ... 507

       8.2 ... Schnittstellen ... 518

       8.3 ... Aufzählungstypen ... 550

       8.4 ... Versiegelte Klassen und Schnittstellen ... 560

       8.5 ... Zum Weiterlesen ... 568

  9.  Ausnahmen müssen sein ... 569

       9.1 ... Problembereiche einzäunen ... 570

       9.2 ... Ausnahmen mit throws nach oben reichen ... 579

       9.3 ... Die Klassenhierarchie der Ausnahmen ... 580

       9.4 ... Abschlussbehandlung mit finally ... 590

       9.5 ... Auslösen eigener Exceptions ... 595

       9.6 ... try mit Ressourcen (automatisches Ressourcen-Management) ... 611

       9.7 ... Besonderheiten bei der Ausnahmebehandlung * ... 621

       9.8 ... Harte Fehler -- Error * ... 627

       9.9 ... Assertions * ... 627

       9.10 ... Zum Weiterlesen ... 630

10.  Geschachtelte Typen ... 631

       10.1 ... Geschachtelte Klassen, Schnittstellen und Aufzählungen ... 631

       10.2 ... Statische geschachtelte Typen ... 633

       10.3 ... Nichtstatische geschachtelte Typen ... 635

       10.4 ... Lokale Klassen ... 638

       10.5 ... Anonyme innere Klassen ... 639

       10.6 ... Vermischtes ... 644

       10.7 ... Zum Weiterlesen ... 648

11.  Besondere Typen der Java SE ... 649

       11.1 ... Object ist die Mutter aller Klassen ... 650

       11.2 ... Schwache Referenzen und Cleaner ... 672

       11.3 ... Die Utility-Klasse java.util.Objects ... 673

       11.4 ... Vergleichen von Objekten und Ordnung herstellen ... 677

       11.5 ... Wrapper-Klassen und Autoboxing ... 686

       11.6 ... Iterator, Iterable * ... 706

       11.7 ... Annotationen in der Java SE ... 714

       11.8 ... Zum Weiterlesen ... 719

12.  Generics

... 721


       12.1 ... Einführung in Java Generics ... 721

       12.2 ... Umsetzen der Generics, Typlöschung und Raw-Types ... 737

       12.3 ... Die Typen über Bounds einschränken ... 745

       12.4 ... Typparameter in der throws-Klausel * ... 748

       12.5 ... Generics und Vererbung, Invarianz ... 752

       12.6 ... Konsequenzen der Typlöschung: Typ-Token, Arrays und Brücken * ... 766

       12.7 ... Zum Weiterlesen ... 775

13.  Lambda-Ausdrücke und funktionale Programmierung ... 777

       13.1 ... Funktionale Schnittstellen und Lambda-Ausdrücke ... 777

       13.2 ... Methodenreferenz ... 801

       13.3 ... Konstruktorreferenz ... 805

       13.4 ... Funktionale Programmierung ... 809

       13.5 ... Funktionale Schnittstellen aus dem java.util.function-Paket ... 818

       13.6 ... Optional ist keine Nullnummer ... 832

       13.7 ... Was ist jetzt so funktional? ... 843

       13.8 ... Zum Weiterlesen ... 845

14.  Architektur, Design und angewandte Objektorientierung ... 847

       14.1 ... SOLIDe Modellierung ... 847

       14.2 ... Architektur, Design und Implementierung ... 851

       14.3 ... Design-Patterns (Entwurfsmuster) ... 852

       14.4 ... Zum Weiterlesen ... 859

15.  Java Platform Module System ... 861

       15.1 ... Klassenlader (Class Loader) und Modul-/Klassenpfad ... 861

       15.2 ... Module im JPMS einbinden ... 867

       15.3 ... Eigene Module entwickeln ... 873

       15.4 ... Zum Weiterlesen ... 881

16.  Die Klassenbibliothek ... 883

       16.1 ... Die Java-Klassenphilosophie ... 883

       16.2 ... Einfache Zeitmessung und Profiling * ... 890

       16.3 ... Die Klasse Class ... 891

       16.4 ... Die Utility-Klassen System und Properties ... 894

       16.5 ... Sprachen der Länder ... 902

       16.6 ... Wichtige Datum-Klassen im Überblick ... 906

       16.7 ... Date-Time-API ... 909

       16.8 ... Logging mit Java ... 914

       16.9 ... Maven: Build-Management und Abhängigkeiten auflösen ... 917

       16.10 ... Zum Weiterlesen ... 919

17.  Einführung in die nebenläufige Programmierung ... 921

       17.1 ... Nebenläufigkeit und Parallelität ... 921

       17.2 ... Existierende Threads und neue Threads erzeugen ... 925

       17.3 ... Thread-Eigenschaften und Zustände ... 931

       17.4 ... Der Ausführer (Executor) kommt ... 943

       17.5 ... Zum Weiterlesen ... 958

18.  Einführung in Datenstrukturen und Algorithmen ... 959

       18.1 ... Listen ... 959

       18.2 ... Mengen (Sets) ... 977

       18.3 ... Assoziative Speicher ... 987

       18.4 ... Ausgewählte Basistypen ... 994

       18.5 ... Java-Stream-API ... 994

       18.6 ... Einen Stream erzeugen ... 997

       18.7 ... Terminale Operationen ... 1001

       18.8 ... Intermediäre Operationen ... 1012

       18.9 ... Zum Weiterlesen ... 1019

19.  Einführung in grafische Oberflächen ... 1021

       19.1 ... GUI-Frameworks ... 1021

       19.2 ... Deklarative und programmierte Oberflächen ... 1025

       19.3 ... GUI-Builder ... 1026

       19.4 ... Mit dem Eclipse WindowBuilder zur ersten Swing-Oberfläche ... 1027

       19.5 ... Grundlegendes zum Zeichnen ... 1039

       19.6 ... Zum Weiterlesen ... 1045

20.  Einführung in Dateien und Datenströme ... 1047

       20.1 ... Alte und neue Welt in java.io und java.nio ... 1047

       20.2 ... Dateisysteme und Pfade ... 1048

       20.3 ... Dateien mit wahlfreiem Zugriff ... 1058

       20.4 ... Basisklassen für die Ein-/Ausgabe ... 1064

       20.5 ... Lesen aus Dateien und Schreiben in Dateien ... 1076

       20.6 ... Zum Weiterlesen ... 1082

21.  Einführung ins Datenbankmanagement mit JDBC ... 1083

       21.1 ... Relationale Datenbanken und Java-Zugriffe ... 1083

       21.2 ... Eine Beispielabfrage ... 1086

       21.3 ... Zum Weiterlesen ... 1088

22.  Bits und Bytes, Mathematisches und Geld ... 1089

       22.1 ... Bits und Bytes ... 1089

       22.2 ... Fließkomma-Arithmetik in Java ... 1104

       22.3 ... Die Eigenschaften der Klasse Math ... 1110

       22.4 ... Genauigkeit, Wertebereich eines Typs und Überlaufkontrolle * ... 1121

       22.5 ... Zufallszahlen: Random, ThreadLocalRandom und SecureRandom ... 1127

       22.6 ... Große Zahlen * ... 1131

       22.7 ... Geld und Währung ... 1144

       22.8 ... Zum Weiterlesen ... 1146

23.  Testen mit JUnit ... 1147

       23.1 ... Softwaretests ... 1147

       23.2 ... Das Test-Framework JUnit ... 1148

       23.3 ... Java-Assertions-Bibliotheken und AssertJ ... 1161

       23.4 ... Aufbau größerer Testfälle ... 1163

       23.5 ... Wie gutes Design das Testen ermöglicht ... 1165

       23.6 ... Dummy, Fake, Stub und Mock ... 1167

       23.7 ... JUnit-Erweiterungen, Testzusätze ... 1169

       23.8 ... Zum Weiterlesen ... 1170

24.  Die Werkzeuge des JDK ... 1171

       24.1 ... Übersicht ... 1171

       24.2 ... Java-Quellen übersetzen ... 1172

       24.3 ... Die Java-Laufzeitumgebung ... 1173

       24.4 ... Dokumentationskommentare mit Javadoc ... 1176

       24.5 ... Das Archivformat JAR ... 1186

       24.6 ... Zum Weiterlesen ... 1188

  Anhang ... 1171

       A ... Java SE-Module und Paketübersicht ... 1189

  Index ... 1207

Java ist auch eine Insel

Das Standardwerk für Programmierer. Über 1.000 Seiten Java-Wissen. Mit vielen Beispielen und Übungen, aktuell zu Java 21

Buch (Gebundene Ausgabe)

49,90 €

inkl. gesetzl. MwSt.

Java ist auch eine Insel

Ebenfalls verfügbar als:

Gebundenes Buch

Gebundenes Buch

ab 49,90 €
eBook

eBook

ab 49,90 €

Beschreibung

Details

Verkaufsrang

31325

Einband

Gebundene Ausgabe

Erscheinungsdatum

06.12.2023

Verlag

Rheinwerk

Seitenzahl

1223

Beschreibung

Rezension

»Ein wertvolles Lehr- und Arbeitsbuch für fortgeschrittene Java-Programmierer und bietet eine umfassende Referenz für den täglichen Gebrauch.« mediennerd.de 202312

Details

Verkaufsrang

31325

Einband

Gebundene Ausgabe

Erscheinungsdatum

06.12.2023

Verlag

Rheinwerk

Seitenzahl

1223

Maße (L/B/H)

24,6/20,1/6,6 cm

Gewicht

2300 g

Auflage

17. Auflage

Sprache

Deutsch

ISBN

978-3-8362-9544-4

Unsere Kundinnen und Kunden meinen

0.0

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Konto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Erste Bewertung verfassen

Unsere Kundinnen und Kunden meinen

0.0

0 Bewertungen filtern

Weitere Artikel finden Sie in

Die Leseprobe wird geladen.
  • Java ist auch eine Insel


  •   Materialien zum Buch ... 31

      Vorwort ... 33

      1.  Java ist auch eine Sprache ... 49

           1.1 ... Historischer Hintergrund ... 50

           1.2 ... Warum Java populär ist -- die zentralen Eigenschaften ... 52

           1.3 ... Java im Vergleich zu anderen Sprachen * ... 63

           1.4 ... Weiterentwicklung und Verluste ... 66

           1.5 ... Java-Plattformen: Java SE, Jakarta EE, Java ME, Java Card ... 70

           1.6 ... Java SE-Implementierungen ... 74

           1.7 ... JDK installieren ... 77

           1.8 ... Das erste Programm compilieren und testen ... 79

           1.9 ... Entwicklungsumgebungen ... 83

           1.10 ... Zum Weiterlesen ... 89

      2.  Imperative Sprachkonzepte ... 91

           2.1 ... Elemente der Programmiersprache Java ... 91

           2.2 ... Von der Klasse zur Anweisung ... 99

           2.3 ... Datentypen, Typisierung, Variablen und Zuweisungen ... 111

           2.4 ... Ausdrücke, Operanden und Operatoren ... 127

           2.5 ... Bedingte Anweisungen oder Fallunterscheidungen ... 151

           2.6 ... Immer das Gleiche mit den Schleifen ... 170

           2.7 ... Methoden einer Klasse ... 188

           2.8 ... Zum Weiterlesen ... 212

      3.  Klassen und Objekte ... 213

           3.1 ... Objektorientierte Programmierung (OOP) ... 213

           3.2 ... Eigenschaften einer Klasse ... 215

           3.3 ... Natürlich modellieren mit der UML (Unified Modeling Language) * ... 217

           3.4 ... Neue Objekte erzeugen ... 219

           3.5 ... ZZZZZnake ... 231

           3.6 ... Pakete schnüren, Importe und Compilationseinheiten ... 233

           3.7 ... Mit Referenzen arbeiten, Vielfalt, Identität, Gleichwertigkeit ... 241

           3.8 ... Zum Weiterlesen ... 253

      4.  Arrays und ihre Anwendungen ... 255

           4.1 ... Einfache Feldarbeit ... 255

           4.2 ... Die erweiterte for-Schleife ... 267

           4.3 ... Methode mit variabler Argumentanzahl (Varargs) ... 271

           4.4 ... Mehrdimensionale Arrays * ... 273

           4.5 ... Bibliotheksunterstützung von Arrays ... 279

           4.6 ... Die Klasse Arrays zum Vergleichen, Füllen, Suchen und Sortieren nutzen ... 282

           4.7 ... Der Einstiegspunkt für das Laufzeitsystem: main(...) ... 295

           4.8 ... Zum Weiterlesen ... 298

      5.  Der Umgang mit Zeichen und Zeichenketten ... 299

           5.1 ... Von ASCII über ISO-8859-1 zu Unicode ... 299

           5.2 ... Datentypen für Zeichen und Zeichenfolgen ... 307

           5.3 ... Die Character-Klasse ... 308

           5.4 ... Zeichenfolgen ... 313

           5.5 ... Die Klasse String und ihre Methoden ... 315

           5.6 ... Veränderbare Zeichenketten mit StringBuilder und StringBuffer ... 348

           5.7 ... CharSequence als Basistyp ... 357

           5.8 ... Konvertieren zwischen Primitiven und Strings ... 360

           5.9 ... Strings zusammenhängen (konkatenieren) ... 368

           5.10 ... Zerlegen von Zeichenketten ... 370

           5.11 ... Ausgaben formatieren ... 375

           5.12 ... Zum Weiterlesen ... 381

      6.  Eigene Klassen schreiben ... 383

           6.1 ... Eigene Klassen mit Eigenschaften deklarieren ... 383

           6.2 ... Privatsphäre und Sichtbarkeit ... 394

           6.3 ... Eine für alle -- statische Methoden und Klassenvariablen ... 405

           6.4 ... Konstanten und Aufzählungen ... 412

           6.5 ... Objekte anlegen und zerstören ... 420

           6.6 ... Klassen- und Objektinitialisierung * ... 434

           6.7 ... Zum Weiterlesen ... 443

      7.  Objektorientierte Beziehungsfragen ... 445

           7.1 ... Assoziationen zwischen Objekten ... 445

           7.2 ... Vererbung ... 455

           7.3 ... Typen in Hierarchien ... 465

           7.4 ... Methoden überschreiben ... 479

           7.5 ... Drum prüfe, wer sich dynamisch bindet ... 485

           7.6 ... Finale Klassen und finale Methoden ... 488

           7.7 ... Abstrakte Klassen und abstrakte Methoden ... 490

           7.8 ... Weiteres zum Überschreiben und dynamischen Binden ... 499

           7.9 ... Zum Weiterlesen und Programmieraufgabe ... 505

      8.  Records, Schnittstellen, Aufzählungen, versiegelte Klassen ... 507

           8.1 ... Records ... 507

           8.2 ... Schnittstellen ... 518

           8.3 ... Aufzählungstypen ... 550

           8.4 ... Versiegelte Klassen und Schnittstellen ... 560

           8.5 ... Zum Weiterlesen ... 568

      9.  Ausnahmen müssen sein ... 569

           9.1 ... Problembereiche einzäunen ... 570

           9.2 ... Ausnahmen mit throws nach oben reichen ... 579

           9.3 ... Die Klassenhierarchie der Ausnahmen ... 580

           9.4 ... Abschlussbehandlung mit finally ... 590

           9.5 ... Auslösen eigener Exceptions ... 595

           9.6 ... try mit Ressourcen (automatisches Ressourcen-Management) ... 611

           9.7 ... Besonderheiten bei der Ausnahmebehandlung * ... 621

           9.8 ... Harte Fehler -- Error * ... 627

           9.9 ... Assertions * ... 627

           9.10 ... Zum Weiterlesen ... 630

    10.  Geschachtelte Typen ... 631

           10.1 ... Geschachtelte Klassen, Schnittstellen und Aufzählungen ... 631

           10.2 ... Statische geschachtelte Typen ... 633

           10.3 ... Nichtstatische geschachtelte Typen ... 635

           10.4 ... Lokale Klassen ... 638

           10.5 ... Anonyme innere Klassen ... 639

           10.6 ... Vermischtes ... 644

           10.7 ... Zum Weiterlesen ... 648

    11.  Besondere Typen der Java SE ... 649

           11.1 ... Object ist die Mutter aller Klassen ... 650

           11.2 ... Schwache Referenzen und Cleaner ... 672

           11.3 ... Die Utility-Klasse java.util.Objects ... 673

           11.4 ... Vergleichen von Objekten und Ordnung herstellen ... 677

           11.5 ... Wrapper-Klassen und Autoboxing ... 686

           11.6 ... Iterator, Iterable * ... 706

           11.7 ... Annotationen in der Java SE ... 714

           11.8 ... Zum Weiterlesen ... 719

    12.  Generics

    ... 721


           12.1 ... Einführung in Java Generics ... 721

           12.2 ... Umsetzen der Generics, Typlöschung und Raw-Types ... 737

           12.3 ... Die Typen über Bounds einschränken ... 745

           12.4 ... Typparameter in der throws-Klausel * ... 748

           12.5 ... Generics und Vererbung, Invarianz ... 752

           12.6 ... Konsequenzen der Typlöschung: Typ-Token, Arrays und Brücken * ... 766

           12.7 ... Zum Weiterlesen ... 775

    13.  Lambda-Ausdrücke und funktionale Programmierung ... 777

           13.1 ... Funktionale Schnittstellen und Lambda-Ausdrücke ... 777

           13.2 ... Methodenreferenz ... 801

           13.3 ... Konstruktorreferenz ... 805

           13.4 ... Funktionale Programmierung ... 809

           13.5 ... Funktionale Schnittstellen aus dem java.util.function-Paket ... 818

           13.6 ... Optional ist keine Nullnummer ... 832

           13.7 ... Was ist jetzt so funktional? ... 843

           13.8 ... Zum Weiterlesen ... 845

    14.  Architektur, Design und angewandte Objektorientierung ... 847

           14.1 ... SOLIDe Modellierung ... 847

           14.2 ... Architektur, Design und Implementierung ... 851

           14.3 ... Design-Patterns (Entwurfsmuster) ... 852

           14.4 ... Zum Weiterlesen ... 859

    15.  Java Platform Module System ... 861

           15.1 ... Klassenlader (Class Loader) und Modul-/Klassenpfad ... 861

           15.2 ... Module im JPMS einbinden ... 867

           15.3 ... Eigene Module entwickeln ... 873

           15.4 ... Zum Weiterlesen ... 881

    16.  Die Klassenbibliothek ... 883

           16.1 ... Die Java-Klassenphilosophie ... 883

           16.2 ... Einfache Zeitmessung und Profiling * ... 890

           16.3 ... Die Klasse Class ... 891

           16.4 ... Die Utility-Klassen System und Properties ... 894

           16.5 ... Sprachen der Länder ... 902

           16.6 ... Wichtige Datum-Klassen im Überblick ... 906

           16.7 ... Date-Time-API ... 909

           16.8 ... Logging mit Java ... 914

           16.9 ... Maven: Build-Management und Abhängigkeiten auflösen ... 917

           16.10 ... Zum Weiterlesen ... 919

    17.  Einführung in die nebenläufige Programmierung ... 921

           17.1 ... Nebenläufigkeit und Parallelität ... 921

           17.2 ... Existierende Threads und neue Threads erzeugen ... 925

           17.3 ... Thread-Eigenschaften und Zustände ... 931

           17.4 ... Der Ausführer (Executor) kommt ... 943

           17.5 ... Zum Weiterlesen ... 958

    18.  Einführung in Datenstrukturen und Algorithmen ... 959

           18.1 ... Listen ... 959

           18.2 ... Mengen (Sets) ... 977

           18.3 ... Assoziative Speicher ... 987

           18.4 ... Ausgewählte Basistypen ... 994

           18.5 ... Java-Stream-API ... 994

           18.6 ... Einen Stream erzeugen ... 997

           18.7 ... Terminale Operationen ... 1001

           18.8 ... Intermediäre Operationen ... 1012

           18.9 ... Zum Weiterlesen ... 1019

    19.  Einführung in grafische Oberflächen ... 1021

           19.1 ... GUI-Frameworks ... 1021

           19.2 ... Deklarative und programmierte Oberflächen ... 1025

           19.3 ... GUI-Builder ... 1026

           19.4 ... Mit dem Eclipse WindowBuilder zur ersten Swing-Oberfläche ... 1027

           19.5 ... Grundlegendes zum Zeichnen ... 1039

           19.6 ... Zum Weiterlesen ... 1045

    20.  Einführung in Dateien und Datenströme ... 1047

           20.1 ... Alte und neue Welt in java.io und java.nio ... 1047

           20.2 ... Dateisysteme und Pfade ... 1048

           20.3 ... Dateien mit wahlfreiem Zugriff ... 1058

           20.4 ... Basisklassen für die Ein-/Ausgabe ... 1064

           20.5 ... Lesen aus Dateien und Schreiben in Dateien ... 1076

           20.6 ... Zum Weiterlesen ... 1082

    21.  Einführung ins Datenbankmanagement mit JDBC ... 1083

           21.1 ... Relationale Datenbanken und Java-Zugriffe ... 1083

           21.2 ... Eine Beispielabfrage ... 1086

           21.3 ... Zum Weiterlesen ... 1088

    22.  Bits und Bytes, Mathematisches und Geld ... 1089

           22.1 ... Bits und Bytes ... 1089

           22.2 ... Fließkomma-Arithmetik in Java ... 1104

           22.3 ... Die Eigenschaften der Klasse Math ... 1110

           22.4 ... Genauigkeit, Wertebereich eines Typs und Überlaufkontrolle * ... 1121

           22.5 ... Zufallszahlen: Random, ThreadLocalRandom und SecureRandom ... 1127

           22.6 ... Große Zahlen * ... 1131

           22.7 ... Geld und Währung ... 1144

           22.8 ... Zum Weiterlesen ... 1146

    23.  Testen mit JUnit ... 1147

           23.1 ... Softwaretests ... 1147

           23.2 ... Das Test-Framework JUnit ... 1148

           23.3 ... Java-Assertions-Bibliotheken und AssertJ ... 1161

           23.4 ... Aufbau größerer Testfälle ... 1163

           23.5 ... Wie gutes Design das Testen ermöglicht ... 1165

           23.6 ... Dummy, Fake, Stub und Mock ... 1167

           23.7 ... JUnit-Erweiterungen, Testzusätze ... 1169

           23.8 ... Zum Weiterlesen ... 1170

    24.  Die Werkzeuge des JDK ... 1171

           24.1 ... Übersicht ... 1171

           24.2 ... Java-Quellen übersetzen ... 1172

           24.3 ... Die Java-Laufzeitumgebung ... 1173

           24.4 ... Dokumentationskommentare mit Javadoc ... 1176

           24.5 ... Das Archivformat JAR ... 1186

           24.6 ... Zum Weiterlesen ... 1188

      Anhang ... 1171

           A ... Java SE-Module und Paketübersicht ... 1189

      Index ... 1207