Java ist auch eine Insel

Inhaltsverzeichnis



  Materialien zum Buch ... 30

  Vorwort ... 31

  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 * ... 65

       1.4 ... Weiterentwicklung und Verluste ... 68

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

       1.6 ... Java SE-Implementierungen ... 77

       1.7 ... JDK installieren ... 80

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

       1.9 ... Entwicklungsumgebungen ... 86

       1.10 ... Zum Weiterlesen ... 96

  2.  Imperative Sprachkonzepte ... 97

       2.1 ... Elemente der Programmiersprache Java ... 97

       2.2 ... Von der Klasse zur Anweisung ... 105

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

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

       2.5 ... Bedingte Anweisungen oder Fallunterscheidungen ... 160

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

       2.7 ... Methoden einer Klasse ... 197

       2.8 ... Zum Weiterlesen ... 223

  3.  Klassen und Objekte ... 225

       3.1 ... Objektorientierte Programmierung (OOP) ... 225

       3.2 ... Eigenschaften einer Klasse ... 227

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

       3.4 ... Neue Objekte erzeugen ... 231

       3.5 ... ZZZZZnake ... 243

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

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

       3.8 ... Zum Weiterlesen ... 265

  4.  Arrays und ihre Anwendungen ... 267

       4.1 ... Einfache Feldarbeit ... 267

       4.2 ... Die erweiterte for-Schleife ... 278

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

       4.4 ... Mehrdimensionale Arrays * ... 285

       4.5 ... Bibliotheksunterstützung von Arrays ... 291

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

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

       4.8 ... Zum Weiterlesen ... 313

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

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

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

       5.3 ... Die Character-Klasse ... 324

       5.4 ... Zeichenfolgen ... 330

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

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

       5.7 ... CharSequence als Basistyp ... 373

       5.8 ... Konvertieren zwischen Primitiven und Strings ... 376

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

       5.10 ... Zerlegen von Zeichenketten ... 387

       5.11 ... Ausgaben formatieren ... 392

       5.12 ... Zum Weiterlesen ... 398

  6.  Eigene Klassen schreiben ... 399

       6.1 ... Eigene Klassen mit Eigenschaften deklarieren ... 399

       6.2 ... Privatsphäre und Sichtbarkeit ... 411

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

       6.4 ... Konstanten und Aufzählungen ... 428

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

       6.6 ... Klassen- und Objektinitialisierung * ... 451

       6.7 ... Zum Weiterlesen ... 460

  7.  Objektorientierte Beziehungsfragen ... 461

       7.1 ... Assoziationen zwischen Objekten ... 461

       7.2 ... Vererbung ... 471

       7.3 ... Typen in Hierarchien ... 481

       7.4 ... Methoden überschreiben ... 491

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

       7.6 ... Finale Klassen und finale Methoden ... 501

       7.7 ... Abstrakte Klassen und abstrakte Methoden ... 503

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

       7.9 ... Zum Weiterlesen und Programmieraufgabe ... 517

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

       8.1 ... Schnittstellen ... 519

       8.2 ... Aufzählungstypen ... 552

       8.3 ... Versiegelte Klassen und Schnittstellen ... 562

       8.4 ... Records ... 567

       8.5 ... Zum Weiterlesen ... 576

  9.  Ausnahmen müssen sein ... 577

       9.1 ... Problembereiche einzäunen ... 578

       9.2 ... Ausnahmen weiterleiten, throws am Kopf von Methoden/Konstruktoren ... 587

       9.3 ... Die Klassenhierarchie der Ausnahmen ... 588

       9.4 ... Abschlussbehandlung mit finally ... 597

       9.5 ... Auslösen eigener Exceptions ... 603

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

       9.7 ... Besonderheiten bei der Ausnahmebehandlung * ... 633

       9.8 ... Harte Fehler -- Error * ... 638

       9.9 ... Assertions * ... 639

       9.10 ... Zum Weiterlesen ... 642

10.  Geschachtelte Typen ... 643

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

       10.2 ... Statische geschachtelte Typen ... 645

       10.3 ... Nichtstatische geschachtelte Typen ... 647

       10.4 ... Lokale Klassen ... 650

       10.5 ... Anonyme innere Klassen ... 652

       10.6 ... Zugriff auf lokale Variablen aus lokalen und anonymen Klassen * ... 657

       10.7 ... this in Unterklassen * ... 658

       10.8 ... Nester ... 660

       10.9 ... Zum Weiterlesen ... 662

11.  Besondere Typen der Java SE ... 663

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

       11.2 ... Schwache Referenzen und Cleaner ... 688

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

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

       11.5 ... Wrapper-Klassen und Autoboxing ... 703

       11.6 ... Iterator, Iterable * ... 723

       11.7 ... Annotationen in der Java SE ... 730

       11.8 ... Zum Weiterlesen ... 736

12.  Generics ... 737

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

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

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

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

       12.5 ... Generics und Vererbung, Invarianz ... 769

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

       12.7 ... Zum Weiterlesen ... 792

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

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

       13.2 ... Methodenreferenz ... 819

       13.3 ... Konstruktorreferenz ... 823

       13.4 ... Funktionale Programmierung ... 827

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

       13.6 ... Optional ist keine Nullnummer ... 850

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

       13.8 ... Zum Weiterlesen ... 863

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

       14.1 ... SOLIDe Modellierung ... 865

       14.2 ... Architektur, Design und Implementierung ... 869

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

       14.4 ... Zum Weiterlesen ... 877

15.  Java Platform Module System ... 879

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

       15.2 ... Module entwickeln und einbinden ... 885

       15.3 ... Zum Weiterlesen ... 901

16.  Die Klassenbibliothek ... 903

       16.1 ... Die Java-Klassenphilosophie ... 903

       16.2 ... Einfache Zeitmessung und Profiling * ... 910

       16.3 ... Die Klasse Class ... 913

       16.4 ... Klassenlader ... 917

       16.5 ... Die Utility-Klassen System und Properties ... 918

       16.6 ... Sprachen der Länder ... 927

       16.7 ... Wichtige Datum-Klassen im Überblick ... 931

       16.8 ... Date-Time-API ... 934

       16.9 ... Logging mit Java ... 939

       16.10 ... Maven: Build-Management und Abhängigkeiten auflösen ... 942

       16.11 ... Zum Weiterlesen ... 946

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

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

       17.2 ... Existierende Threads und neue Threads erzeugen ... 954

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

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

       17.5 ... Zum Weiterlesen ... 989

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

       18.1 ... Listen ... 991

       18.2 ... Mengen (Sets) ... 1010

       18.3 ... Assoziative Speicher ... 1021

       18.4 ... Java-Stream-API ... 1026

       18.5 ... Einen Stream erzeugen ... 1029

       18.6 ... Terminale Operationen ... 1033

       18.7 ... Intermediäre Operationen ... 1044

       18.8 ... Zum Weiterlesen ... 1050

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

       19.1 ... GUI-Frameworks ... 1051

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

       19.3 ... GUI-Builder ... 1056

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

       19.5 ... Grundlegendes zum Zeichnen ... 1069

       19.6 ... Zum Weiterlesen ... 1075

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

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

       20.2 ... Dateisysteme und Pfade ... 1079

       20.3 ... Dateien mit wahlfreiem Zugriff ... 1088

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

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

       20.6 ... Zum Weiterlesen ... 1112

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

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

       21.2 ... Eine Beispielabfrage ... 1116

       21.3 ... Zum Weiterlesen ... 1118

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

       22.1 ... Bits und Bytes ... 1119

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

       22.3 ... Die Eigenschaften der Klasse Math ... 1140

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

       22.5 ... Zufallszahlen: Random, SecureRandom und SplittableRandom ... 1156

       22.6 ... Große Zahlen * ... 1161

       22.7 ... Geld und Währung ... 1174

       22.8 ... Zum Weiterlesen ... 1176

23.  Testen mit JUnit ... 1177

       23.1 ... Softwaretests ... 1177

       23.2 ... Das Test-Framework JUnit ... 1178

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

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

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

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

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

       23.8 ... Zum Weiterlesen ... 1200

24.  Die Werkzeuge des JDK ... 1201

       24.1 ... Übersicht ... 1201

       24.2 ... Java-Quellen übersetzen ... 1202

       24.3 ... Die Java-Laufzeitumgebung ... 1204

       24.4 ... Dokumentationskommentare mit Javadoc ... 1207

       24.5 ... Das Archivformat JAR ... 1217

       24.6 ... jlink: der Java Linker ... 1220

       24.7 ... Zum Weiterlesen ... 1221

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

  Index ... 1241

Java ist auch eine Insel

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

Buch (Gebundene Ausgabe)

€51,30

inkl. gesetzl. MwSt.

Java ist auch eine Insel

Ebenfalls verfügbar als:

Gebundenes Buch

Gebundenes Buch

ab € 51,30
eBook

eBook

ab € 49,90

Beschreibung

Details

Einband

Gebundene Ausgabe

Erscheinungsdatum

26.11.2021

Verlag

Rheinwerk

Seitenzahl

1258

Maße (L/B/H)

24,5/20,1/6,7 cm

Beschreibung

Rezension

»Das Buch richtet sich an Einsteiger*innen mit objektorientiertem Vorwissen und ist gut für das Selbststudium und als Nachschlagewerk geeignet.« EKZ-Informationsdienst 202201

Details

Einband

Gebundene Ausgabe

Erscheinungsdatum

26.11.2021

Verlag

Rheinwerk

Seitenzahl

1258

Maße (L/B/H)

24,5/20,1/6,7 cm

Gewicht

2428 g

Auflage

16. Auflage

Sprache

Deutsch

ISBN

978-3-8362-8745-6

Weitere Bände von Rheinwerk Computing

Das meinen unsere Kund*innen

0.0

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Kund*innenkonto 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 Kund*innen meinen

0.0

0 Bewertungen filtern

Weitere Artikel finden Sie in

Die Leseprobe wird geladen.
  • Java ist auch eine Insel


  •   Materialien zum Buch ... 30

      Vorwort ... 31

      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 * ... 65

           1.4 ... Weiterentwicklung und Verluste ... 68

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

           1.6 ... Java SE-Implementierungen ... 77

           1.7 ... JDK installieren ... 80

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

           1.9 ... Entwicklungsumgebungen ... 86

           1.10 ... Zum Weiterlesen ... 96

      2.  Imperative Sprachkonzepte ... 97

           2.1 ... Elemente der Programmiersprache Java ... 97

           2.2 ... Von der Klasse zur Anweisung ... 105

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

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

           2.5 ... Bedingte Anweisungen oder Fallunterscheidungen ... 160

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

           2.7 ... Methoden einer Klasse ... 197

           2.8 ... Zum Weiterlesen ... 223

      3.  Klassen und Objekte ... 225

           3.1 ... Objektorientierte Programmierung (OOP) ... 225

           3.2 ... Eigenschaften einer Klasse ... 227

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

           3.4 ... Neue Objekte erzeugen ... 231

           3.5 ... ZZZZZnake ... 243

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

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

           3.8 ... Zum Weiterlesen ... 265

      4.  Arrays und ihre Anwendungen ... 267

           4.1 ... Einfache Feldarbeit ... 267

           4.2 ... Die erweiterte for-Schleife ... 278

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

           4.4 ... Mehrdimensionale Arrays * ... 285

           4.5 ... Bibliotheksunterstützung von Arrays ... 291

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

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

           4.8 ... Zum Weiterlesen ... 313

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

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

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

           5.3 ... Die Character-Klasse ... 324

           5.4 ... Zeichenfolgen ... 330

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

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

           5.7 ... CharSequence als Basistyp ... 373

           5.8 ... Konvertieren zwischen Primitiven und Strings ... 376

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

           5.10 ... Zerlegen von Zeichenketten ... 387

           5.11 ... Ausgaben formatieren ... 392

           5.12 ... Zum Weiterlesen ... 398

      6.  Eigene Klassen schreiben ... 399

           6.1 ... Eigene Klassen mit Eigenschaften deklarieren ... 399

           6.2 ... Privatsphäre und Sichtbarkeit ... 411

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

           6.4 ... Konstanten und Aufzählungen ... 428

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

           6.6 ... Klassen- und Objektinitialisierung * ... 451

           6.7 ... Zum Weiterlesen ... 460

      7.  Objektorientierte Beziehungsfragen ... 461

           7.1 ... Assoziationen zwischen Objekten ... 461

           7.2 ... Vererbung ... 471

           7.3 ... Typen in Hierarchien ... 481

           7.4 ... Methoden überschreiben ... 491

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

           7.6 ... Finale Klassen und finale Methoden ... 501

           7.7 ... Abstrakte Klassen und abstrakte Methoden ... 503

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

           7.9 ... Zum Weiterlesen und Programmieraufgabe ... 517

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

           8.1 ... Schnittstellen ... 519

           8.2 ... Aufzählungstypen ... 552

           8.3 ... Versiegelte Klassen und Schnittstellen ... 562

           8.4 ... Records ... 567

           8.5 ... Zum Weiterlesen ... 576

      9.  Ausnahmen müssen sein ... 577

           9.1 ... Problembereiche einzäunen ... 578

           9.2 ... Ausnahmen weiterleiten, throws am Kopf von Methoden/Konstruktoren ... 587

           9.3 ... Die Klassenhierarchie der Ausnahmen ... 588

           9.4 ... Abschlussbehandlung mit finally ... 597

           9.5 ... Auslösen eigener Exceptions ... 603

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

           9.7 ... Besonderheiten bei der Ausnahmebehandlung * ... 633

           9.8 ... Harte Fehler -- Error * ... 638

           9.9 ... Assertions * ... 639

           9.10 ... Zum Weiterlesen ... 642

    10.  Geschachtelte Typen ... 643

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

           10.2 ... Statische geschachtelte Typen ... 645

           10.3 ... Nichtstatische geschachtelte Typen ... 647

           10.4 ... Lokale Klassen ... 650

           10.5 ... Anonyme innere Klassen ... 652

           10.6 ... Zugriff auf lokale Variablen aus lokalen und anonymen Klassen * ... 657

           10.7 ... this in Unterklassen * ... 658

           10.8 ... Nester ... 660

           10.9 ... Zum Weiterlesen ... 662

    11.  Besondere Typen der Java SE ... 663

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

           11.2 ... Schwache Referenzen und Cleaner ... 688

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

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

           11.5 ... Wrapper-Klassen und Autoboxing ... 703

           11.6 ... Iterator, Iterable * ... 723

           11.7 ... Annotationen in der Java SE ... 730

           11.8 ... Zum Weiterlesen ... 736

    12.  Generics ... 737

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

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

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

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

           12.5 ... Generics und Vererbung, Invarianz ... 769

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

           12.7 ... Zum Weiterlesen ... 792

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

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

           13.2 ... Methodenreferenz ... 819

           13.3 ... Konstruktorreferenz ... 823

           13.4 ... Funktionale Programmierung ... 827

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

           13.6 ... Optional ist keine Nullnummer ... 850

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

           13.8 ... Zum Weiterlesen ... 863

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

           14.1 ... SOLIDe Modellierung ... 865

           14.2 ... Architektur, Design und Implementierung ... 869

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

           14.4 ... Zum Weiterlesen ... 877

    15.  Java Platform Module System ... 879

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

           15.2 ... Module entwickeln und einbinden ... 885

           15.3 ... Zum Weiterlesen ... 901

    16.  Die Klassenbibliothek ... 903

           16.1 ... Die Java-Klassenphilosophie ... 903

           16.2 ... Einfache Zeitmessung und Profiling * ... 910

           16.3 ... Die Klasse Class ... 913

           16.4 ... Klassenlader ... 917

           16.5 ... Die Utility-Klassen System und Properties ... 918

           16.6 ... Sprachen der Länder ... 927

           16.7 ... Wichtige Datum-Klassen im Überblick ... 931

           16.8 ... Date-Time-API ... 934

           16.9 ... Logging mit Java ... 939

           16.10 ... Maven: Build-Management und Abhängigkeiten auflösen ... 942

           16.11 ... Zum Weiterlesen ... 946

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

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

           17.2 ... Existierende Threads und neue Threads erzeugen ... 954

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

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

           17.5 ... Zum Weiterlesen ... 989

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

           18.1 ... Listen ... 991

           18.2 ... Mengen (Sets) ... 1010

           18.3 ... Assoziative Speicher ... 1021

           18.4 ... Java-Stream-API ... 1026

           18.5 ... Einen Stream erzeugen ... 1029

           18.6 ... Terminale Operationen ... 1033

           18.7 ... Intermediäre Operationen ... 1044

           18.8 ... Zum Weiterlesen ... 1050

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

           19.1 ... GUI-Frameworks ... 1051

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

           19.3 ... GUI-Builder ... 1056

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

           19.5 ... Grundlegendes zum Zeichnen ... 1069

           19.6 ... Zum Weiterlesen ... 1075

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

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

           20.2 ... Dateisysteme und Pfade ... 1079

           20.3 ... Dateien mit wahlfreiem Zugriff ... 1088

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

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

           20.6 ... Zum Weiterlesen ... 1112

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

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

           21.2 ... Eine Beispielabfrage ... 1116

           21.3 ... Zum Weiterlesen ... 1118

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

           22.1 ... Bits und Bytes ... 1119

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

           22.3 ... Die Eigenschaften der Klasse Math ... 1140

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

           22.5 ... Zufallszahlen: Random, SecureRandom und SplittableRandom ... 1156

           22.6 ... Große Zahlen * ... 1161

           22.7 ... Geld und Währung ... 1174

           22.8 ... Zum Weiterlesen ... 1176

    23.  Testen mit JUnit ... 1177

           23.1 ... Softwaretests ... 1177

           23.2 ... Das Test-Framework JUnit ... 1178

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

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

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

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

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

           23.8 ... Zum Weiterlesen ... 1200

    24.  Die Werkzeuge des JDK ... 1201

           24.1 ... Übersicht ... 1201

           24.2 ... Java-Quellen übersetzen ... 1202

           24.3 ... Die Java-Laufzeitumgebung ... 1204

           24.4 ... Dokumentationskommentare mit Javadoc ... 1207

           24.5 ... Das Archivformat JAR ... 1217

           24.6 ... jlink: der Java Linker ... 1220

           24.7 ... Zum Weiterlesen ... 1221

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

      Index ... 1241