Java ist auch eine Insel

Einführung, Ausbildung, Praxis. Aktuell zu Java 14
Nicht lieferbar | Lieferzeit: Nicht lieferbar I
Alle Preise inkl. MwSt. | Versandkostenfrei
Nicht verfügbar Zum Merkzettel
Gewicht:
2398 g
Format:
245x243x198 mm
Beschreibung:

Ullenboom, ChristianChristian Ullenboom, Dipl.-Informatiker, ist zertifizierter Java-Programmierer und seit 1997 Trainer und Berater für Java-Technologien und objektorientierte Analyse und Design. Seit Jahren teilt er sein Wissen mit unzähligen Besuchern seiner Website, wo er Fragen beantwortet, Inhalte bereitstellt und diskutiert. Seine Sympathie gilt Java Performance Tuning und den sinnlichen Freuden des Lebens.
Von Ausdrücken und Anweisungen zu Klassen und Objekten

Materialien zum Buch ... 30
Vorwort ... 31
1. Java ist auch eine Sprache ... 47

1.1 ... Historischer Hintergrund ... 47
1.2 ... Warum Java populär ist - die zentralen Eigenschaften ... 49
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 ... 69
1.6 ... Java SE-Implementierungen ... 75
1.7 ... AdoptOpenJDK installieren ... 79
1.8 ... Das erste Programm compilieren und testen ... 82
1.9 ... Entwicklungsumgebungen ... 85
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 ... 116
2.4 ... Ausdrücke, Operanden und Operatoren ... 135
2.5 ... Bedingte Anweisungen oder Fallunterscheidungen ... 160
2.6 ... Immer das Gleiche mit den Schleifen ... 179
2.7 ... Methoden einer Klasse ... 196
2.8 ... Zum Weiterlesen ... 222

3. Klassen und Objekte ... 223

3.1 ... Objektorientierte Programmierung (OOP) ... 223
3.2 ... Eigenschaften einer Klasse ... 225
3.3 ... Natürlich modellieren mit der UML (Unified Modeling Language) * ... 226
3.4 ... Neue Objekte erzeugen ... 230
3.5 ... ZZZZZnake ... 242
3.6 ... Pakete schnüren, Importe und Compilationseinheiten ... 245
3.7 ... Mit Referenzen arbeiten, Vielfalt, Identität, Gleichwertigkeit ... 253
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) ... 282
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 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 ... 325
5.4 ... Zeichenfolgen ... 330
5.5 ... Die Klasse String und ihre Methoden ... 332
5.6 ... Veränderbare Zeichenketten mit StringBuilder und StringBuffer ... 358
5.7 ... CharSequence als Basistyp ... 368
5.8 ... Konvertieren zwischen Primitiven und Strings ... 371
5.9 ... Strings zusammenhängen (konkatenieren) ... 380
5.10 ... Zerlegen von Zeichenketten ... 382
5.11 ... Ausgaben formatieren ... 388
5.12 ... Zum Weiterlesen ... 394

6. Eigene Klassen schreiben ... 395

6.1 ... Eigene Klassen mit Eigenschaften deklarieren ... 395
6.2 ... Privatsphäre und Sichtbarkeit ... 407
6.3 ... Eine für alle - statische Methoden und statische Attribute ... 417
6.4 ... Konstanten und Aufzählungen ... 424
6.5 ... Objekte anlegen und zerstören ... 432
6.6 ... Klassen- und Objektinitialisierung * ... 446
6.7 ... Zum Weiterlesen ... 456

7. Objektorientierte Beziehungsfragen ... 457

7.1 ... Assoziationen zwischen Objekten ... 457
7.2 ... Vererbung ... 465
7.3 ... Typen in Hierarchien ... 476
7.4 ... Methoden überschreiben ... 483
7.5 ... Drum prüfe, wer sich dynamisch bindet ... 494
7.6 ... Abstrakte Klassen und abstrakte Methoden ... 502
7.7 ... Schnittstellen ... 510
7.8 ... SOLIDe Modellierung ... 549
7.9 ... Zum Weiterlesen ... 552

8. Ausnahmen müssen sein ... 553

8.1 ... Problembereiche einzäunen ... 553
8.2 ... Geprüfte Ausnahmen ... 555
8.3 ... Ungeprüfte Ausnahmen (RuntimeException) ... 558
8.4 ... Gut gefangen ... 562
8.5 ... Die Klassenhierarchie der Ausnahmen ... 572
8.6 ... Auslösen eigener Exceptions ... 583
8.7 ... Automatisches Ressourcen-Management (try mit Ressourcen) ... 602
8.8 ... Besonderheiten bei der Ausnahmebehandlung * ... 612
8.9 ... Harte Fehler - Error * ... 617
8.10 ... Assertions * ... 618
8.11 ... Zum Weiterlesen ... 622

9. Geschachtelte Typen ... 623

9.1 ... Geschachtelte Klassen, Schnittstellen und Aufzählungen ... 623
9.2 ... Statische geschachtelte Typen ... 624
9.3 ... Nichtstatische geschachtelte Typen ... 626
9.4 ... Lokale Klassen ... 629
9.5 ... Anonyme innere Klassen ... 631
9.6 ... Zugriff auf lokale Variablen aus lokalen und anonymen Klassen * ... 636
9.7 ... this in Unterklassen * ... 637
9.8 ... Nester ... 640
9.9 ... Zum Weiterlesen ... 641

10. Besondere Typen der Java SE ... 643

10.1 ... Object ist die Mutter aller Klassen ... 644
10.2 ... Schwache Referenzen und Cleaner ... 669
10.3 ... Die Utility-Klasse java.util.Objects ... 670
10.4 ... Vergleichen von Objekten und Ordnung herstellen ... 674
10.5 ... Wrapper-Klassen und Autoboxing ... 683
10.6 ... Iterator, Iterable * ... 703
10.7 ... Die Spezial-Oberklasse Enum ... 710
10.8 ... Annotationen in der Java SE ... 720
10.9 ... Zum Weiterlesen ... 726

11. Generics ... 727

11.1 ... Einführung in Java Generics ... 727
11.2 ... Umsetzen der Generics, Typlöschung und Raw-Types ... 743
11.3 ... Die Typen über Bounds einschränken ... 752
11.4 ... Typparameter in der throws-Klausel * ... 756
11.5 ... Generics und Vererbung, Invarianz ... 759
11.6 ... Konsequenzen der Typlöschung: Typ-Token, Arrays und Brücken * ... 773
11.7 ... Zum Weiterlesen ... 783

12. Lambda-Ausdrücke und funktionale Programmierung ... 785

12.1 ... Funktionale Schnittstellen und Lambda-Ausdrücke ... 785
12.2 ... Methodenreferenz ... 811
12.3 ... Konstruktorreferenz ... 815
12.4 ... Funktionale Programmierung ... 819
12.5 ... Funktionale Schnittstellen aus dem java.util.function-Paket ... 828
12.6 ... Optional ist keine Nullnummer ... 842
12.7 ... Was ist jetzt so funktional? ... 854
12.8 ... Zum Weiterlesen ... 856

13. Architektur, Design und angewandte Objektorientierung ... 857

13.1 ... Architektur, Design und Implementierung ... 857
13.2 ... Design-Patterns (Entwurfsmuster) ... 858
13.3 ... Zum Weiterlesen ... 865

14. Java Platform Module System ... 867

14.1 ... Klassenlader (Class Loader) und Modul-/Klassenpfad ... 867
14.2 ... Module entwickeln und einbinden ... 873
14.3 ... Zum Weiterlesen ... 888

15. Die Klassenbibliothek ... 889

15.1 ... Die Java-Klassenphilosophie ... 889
15.2 ... Einfache Zeitmessung und Profiling * ... 896
15.3 ... Die Klasse Class ... 899
15.4 ... Klassenlader ... 903
15.5 ... Die Utility-Klassen System und Properties ... 904
15.6 ... Sprachen der Länder ... 913
15.7 ... Wichtige Datum-Klassen im Überblick ... 917
15.8 ... Date-Time-API ... 920
15.9 ... Logging mit Java ... 925
15.10 ... Maven: Build-Management und Abhängigkeiten auflösen ... 929
15.11 ... Zum Weiterlesen ... 933

16. Einführung in die nebenläufige Programmierung ... 935

16.1 ... Nebenläufigkeit und Parallelität ... 935
16.2 ... Existierende Threads und neue Threads erzeugen ... 939
16.3 ... Thread-Eigenschaften und Zustände ... 946
16.4 ... Der Ausführer (Executor) kommt ... 960
16.5 ... Zum Weiterlesen ... 975

17. Einführung in Datenstrukturen und Algorithmen ... 977

17.1 ... Listen ... 977
17.2 ... Mengen (Sets) ... 996
17.3 ... Java Stream-API ... 1007
17.4 ... Einen Stream erzeugen ... 1009
17.5 ... Terminale Operationen ... 1014
17.6 ... Intermediäre Operationen ... 1025
17.7 ... Zum Weiterlesen ... 1031

18. Einführung in grafische Oberflächen ... 1033

18.1 ... GUI-Frameworks ... 1033
18.2 ... Deklarative und programmierte Oberflächen ... 1037
18.3 ... GUI-Builder ... 1038
18.4 ... Mit dem Eclipse WindowBuilder zur ersten Swing-Oberfläche ... 1039
18.5 ... Grundlegendes zum Zeichnen ... 1051
18.6 ... Zum Weiterlesen ... 1057

19. Einführung in Dateien und Datenströme ... 1059

19.1 ... Alte und neue Welt in java.io und java.nio ... 1059
19.2 ... Dateisysteme und Pfade ... 1061
19.3 ... Dateien mit wahlfreiem Zugriff ... 1070
19.4 ... Basisklassen für die Ein-/Ausgabe ... 1076
19.5 ... Lesen aus Dateien und Schreiben in Dateien ... 1088
19.6 ... Zum Weiterlesen ... 1095

20. Einführung ins Datenbankmanagement mit JDBC ... 1097

20.1 ... Relationale Datenbanken und Java-Zugriffe ... 1097
20.2 ... Eine Beispielabfrage ... 1100
20.3 ... Zum Weiterlesen ... 1102

21. Bits und Bytes, Mathematisches und Geld ... 1103

21.1 ... Bits und Bytes ... 1103
21.2 ... Fließkomma-Arithmetik in Java ... 1118
21.3 ... Die Eigenschaften der Klasse Math ... 1124
21.4 ... Genauigkeit, Wertebereich eines Typs und Überlaufkontrolle * ... 1135
21.5 ... Zufallszahlen: Random, SecureRandom und SplittableRandom ... 1140
21.6 ... Große Zahlen * ... 1144
21.7 ... Mathe bitte strikt * ... 1158
21.8 ... Geld und Währung ... 1159
21.9 ... Zum Weiterlesen ... 1161

22. Testen mit JUnit ... 1163

22.1 ... Softwaretests ... 1163
22.2 ... Das Test-Framework JUnit ... 1164
22.3 ... Java-Assertions-Bibliotheken und AssertJ ... 1176
22.4 ... Aufbau größerer Testfälle ... 1178
22.5 ... Wie gutes Design das Testen ermöglicht ... 1181
22.6 ... Dummy, Fake, Stub und Mock ... 1183
22.7 ... JUnit-Erweiterungen, Testzusätze ... 1185
22.8 ... Zum Weiterlesen ... 1186

23. Die Werkzeuge des JDK ... 1187

23.1 ... Übersicht ... 1187
23.2 ... Java-Quellen übersetzen ... 1188
23.3 ... Die Java-Laufzeitumgebung ... 1190
23.4 ... Dokumentationskommentare mit Javadoc ... 1194
23.5 ... Das Archivformat JAR ... 1204
23.6 ... jlink: der Java Linker ... 1209
23.7 ... Zum Weiterlesen ... 1210

Anhang ... 1211
Index ... 1229

Die "Insel" ist die erste Wahl, wenn es um aktuelles und praktisches Java-Wissen geht. Java-Einsteiger, Studenten und Umsteiger 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 gehört in das Regal eines jeden Java-Programmierers. Es liegt aktuell in der 15. Auflage vor.

Aus dem Inhalt:

  • Imperative Sprachkonzepte
  • Klassen und Objekte
  • Ausnahmebehandlung
  • Generics
  • Lambda-Ausdrücke und funktionale Programmierung
  • Die Klassenbibliothek
  • Nebenläufige Programmierung
  • Einführung in Datenstrukturen, GUI-Entwicklung, Dateien usw.


Die Fachpresse zur Vorauflage:

Java magazin: »Die neueste Version des Rheinwerk-Klassikers bietet Java-Programmierern einen Kurzüberblick über diverse Themen und taugt auch als Nachschlagewerk.«

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.