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
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
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Die "Insel" ist die erste Wahl, wenn es um aktuelles und praktisches Java-Wissen geht. Java-Einsteiger, Studierende und Umsteigerinnen profitieren von diesem Lehrwerk. Neben der Behandlung der Sprachgrundlagen von Java gibt es kompakte Einführungen in Spezialthemen. So erfahren Sie einiges über Threads, Algorithmen, GUIs, Dateien und Datenströme. Dieses Buch ist das Standardwerk für die Java-Programmierung. Es liegt aktuell in der 17. Auflage vor.
Aus dem Inhalt:
Imperative SprachkonzepteKlassen und ObjekteAusnahmebehandlungGenericsLambda-Ausdrücke und funktionale ProgrammierungDie…mehr
- Michael IndenJava lernen - kurz & gut16,90 €
- Kai GünsterSchrödinger lernt HTML5, CSS und JavaScript49,90 €
- Jürgen WolfHTML und CSS49,90 €
- Philip AckermannSchrödinger programmiert Java49,90 €
- Eric FreemanHTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript44,90 €
- Fritz JobstProgrammieren in Java39,99 €
- Kathy SierraJava von Kopf bis Fuß49,90 €
-
-
-
-
-
-
-
-
-
-
-
-
-
Aus dem Inhalt:
Imperative SprachkonzepteKlassen und ObjekteAusnahmebehandlungGenericsLambda-Ausdrücke und funktionale ProgrammierungDie KlassenbibliothekNebenläufige ProgrammierungEinführung in Datenstrukturen, GUI-Entwicklung, Dateien usw.
- Produktdetails
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/09544
- 17. Aufl.
- Seitenzahl: 1223
- Erscheinungstermin: 6. Dezember 2023
- Deutsch
- Abmessung: 246mm x 201mm x 66mm
- Gewicht: 2300g
- ISBN-13: 9783836295444
- ISBN-10: 383629544X
- Artikelnr.: 69012699
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/09544
- 17. Aufl.
- Seitenzahl: 1223
- Erscheinungstermin: 6. Dezember 2023
- Deutsch
- Abmessung: 246mm x 201mm x 66mm
- Gewicht: 2300g
- ISBN-13: 9783836295444
- ISBN-10: 383629544X
- Artikelnr.: 69012699
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
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