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
Nicht lieferbar | Lieferzeit:Nicht lieferbar I

49,90 €*

Alle Preise inkl. MwSt. | Versandkostenfrei
Gewicht:
2419 g
Format:
245x195x65 mm
Beschreibung:

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 16. 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.

Von Ausdrücken und Anweisungen zu Klassen und Objekten

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

Kunden Rezensionen

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