+49 (0) 541 / 40666 200

Sie erreichen uns Montag bis
Freitag von 8 bis 16 Uhr

 

Schreiben Sie uns eine Email oder benutzten eine andere Kontaktmöglichkeit
 Versandkostenfrei in Deutschland
Einkaufskorb
Keine Artikel
in Ihrem
Einkaufskorb

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 - 100 - 18777552

Buch von Christian Ullenboom

94770085

nur 49,90 €

(portofrei!, inkl. MwSt.)

Widerruf zu diesem Artikel
  • Details
  • Beschreibung
  • Information
  • Information zum Autor
  • Inhaltsverzeichnis
Details
Artikel-Nr.:
94770085
Im Sortiment seit:
24.11.2021
Erscheinungsdatum:
26.11.2021
Medium:
Buch
Einband:
Gebunden
Auflage:
16. Auflage von 1922
16. Auflage
Autor:
Ullenboom, Christian
Verlag:
Rheinwerk Verlag GmbH
Rheinwerk
Sprache:
Deutsch
Rubrik:
Programmiersprachen
Seiten:
1258
Reihe:
Rheinwerk Computing
Gewicht:
2428 gr
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.
Information
Von Ausdrücken und Anweisungen zu Klassen und Objekten
Information zum Autor
Christian 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.
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