Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen
Beschreibung
Das Standardwerk zur Java-Programmierung von Christian Ullenboom
  • Programmieren mit der Java Platform, Standard Edition 25
  • Java von A bis Z: Einführung, Praxis, Referenz
  • Von Ausdrücken und Anweisungen zu Klassen und Objekten

Java-Bücher gibt es wie Sand am Meer, aber die Java-Insel ist das Kultbuch für Programmierer und erste Wahl, wenn es um aktuelles und praktisches Java-Wissen geht. Seit über einem Jahrzehnt profitieren Java-Einsteiger, Studierende und Umsteiger von anderen Programmiersprachen gleichermaßen von diesem Standardwerk unter den Java-Büchern. Dozenten und Ausbilder schätzen das Buch für die zahlreichen Beispiele, Aufgaben und Musterlösungen. Leserinnen und Leser feiern es für die verständliche Darstellungsweise und den feinen Humor; Programmierung darf auch Spaß machen!

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.
Das Standardwerk zur Java-Programmierung von Christian Ullenboom
  • Programmieren mit der Java Platform, Standard Edition 25
  • Java von A bis Z: Einführung, Praxis, Referenz
  • Von Ausdrücken und Anweisungen zu Klassen und Objekten

Java-Bücher gibt es wie Sand am Meer, aber die Java-Insel ist das Kultbuch für Programmierer und erste Wahl, wenn es um aktuelles und praktisches Java-Wissen geht. Seit über einem Jahrzehnt profitieren Java-Einsteiger, Studierende und Umsteiger von anderen Programmiersprachen gleichermaßen von diesem Standardwerk unter den Java-Büchern. Dozenten und Ausbilder schätzen das Buch für die zahlreichen Beispiele, Aufgaben und Musterlösungen. Leserinnen und Leser feiern es für die verständliche Darstellungsweise und den feinen Humor; Programmierung darf auch Spaß machen!

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.
Über den 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. Christian Ullenboom bietet auch Rheinwerk Seminare zu Java und Spring an.
Inhaltsverzeichnis

Materialien zum Buch ... 32

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 ... Einschränkungen von Java ... 65

1.5 ... Weiterentwicklung und Umbrüche ... 67

1.6 ... Java-Plattformvarianten ... 70

1.7 ... Java SE-Implementierungen ... 75

1.8 ... Installation des JDK und erster Start ... 78

1.9 ... Entwicklungsumgebungen ... 84

1.10 ... Zum Weiterlesen ... 90

2. Imperative Sprachkonzepte ... 91

2.1 ... Von der Klasse zur Anweisung ... 91

2.2 ... Lexikalische Grundlagen ... 109

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

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

2.5 ... Bedingte Anweisungen oder Fallunterscheidungen ... 156

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

2.7 ... Methoden deklarieren ... 193

2.8 ... Methoden brauchen ein Zuhause: Instanz oder Klasse ... 214

2.9 ... Zum Weiterlesen ... 220

3. Klassen und Objekte ... 221

3.1 ... Objektorientierte Programmierung (OOP) ... 221

3.2 ... Eigenschaften einer Klasse ... 223

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

3.4 ... Neue Objekte erzeugen ... 227

3.5 ... ZZZZZnake ... 237

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

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

3.8 ... Der Zusammenhang von new, Heap und Garbage-Collector ... 262

3.9 ... Zum Weiterlesen ... 264

4. Arrays und ihre Anwendungen ... 265

4.1 ... Einfache Feldarbeit ... 265

4.2 ... Die erweiterte for-Schleife ... 277

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

4.4 ... Mehrdimensionale Arrays * ... 284

4.5 ... Bibliotheksunterstützung von Arrays ... 290

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

4.7 ... Der Startpunkt für das Laufzeitsystem: main(...) ... 307

4.8 ... Zum Weiterlesen ... 310

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

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

5.2 ... Datentypen für Zeichen und Zeichenketten ... 319

5.3 ... Die Character-Klasse ... 320

5.4 ... Datentypen für Zeichenketten ... 325

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

5.6 ... Veränderbare Zeichenketten mit StringBuilder ... 359

5.7 ... CharSequence als Basistyp ... 368

5.8 ... Konvertieren zwischen Primitiven und Strings ... 371

5.9 ... Strings verketten (konkatenieren) ... 379

5.10 ... Zerlegen von Zeichenketten ... 381

5.11 ... Ausgaben formatieren ... 386

5.12 ... Zum Weiterlesen ... 393

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 Klassenvariablen ... 418

6.4 ... Konstanten und Aufzählungen ... 426

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

6.6 ... Klassen- und Objektinitialisierung * ... 449

6.7 ... Zum Weiterlesen ... 458

7. Objektorientierte Beziehungsfragen ... 459

7.1 ... Assoziationen zwischen Objekten ... 459

7.2 ... Vererbung ... 470

7.3 ... Typen in Hierarchien ... 481

7.4 ... Methoden überschreiben ... 494

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

7.6 ... Finale Klassen und finale Methoden ... 504

7.7 ... Abstrakte Klassen und abstrakte Methoden ... 506

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

7.9 ... Zum Weiterlesen und Programmieraufgabe ... 520

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

8.1 ... Records ... 523

8.2 ... Schnittstellen ... 535

8.3 ... Aufzählungstypen ... 576

8.4 ... Versiegelte Klassen und Schnittstellen ... 587

8.5 ... Zum Weiterlesen ... 595

9. Ausnahmen müssen sein ... 597

9.1 ... Problembereiche einzäunen ... 598

9.2 ... Ausnahmen mit throws nach oben reichen ... 607

9.3 ... Die Klassenhierarchie der Ausnahmen ... 608

9.4 ... Abschlussbehandlung mit finally ... 618

9.5 ... Auslösen eigener Exceptions ... 623

9.6 ... try mit Ressourcen (automatisches Ressourcenmanagement) ... 640

9.7 ... Besonderheiten bei der Ausnahmebehandlung * ... 650

9.8 ... Harte Fehler -- Error * ... 655

9.9 ... Zusicherungen im Programmcode (Assertions) * ... 656

9.10 ... Zum Weiterlesen ... 659

10. Geschachtelte Typen ... 661

10.1 ... Geschachtelte Klassen, Records, Schnittstellen und Aufzählungen ... 661

10.2 ... Statische geschachtelte Typen ... 663

10.3 ... Nichtstatische geschachtelte Typen ... 665

10.4 ... Lokale Klassen ... 668

10.5 ... Anonyme innere Klassen ... 670

10.6 ... Vermischtes ... 675

10.7 ... Zum Weiterlesen ... 679

11. Besondere Typen der Java SE ... 681

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

11.2 ... Schwache Referenzen und Cleaner ... 704

11.3 ... Die Utility-Klasse [...].Objects ... 705

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

11.5 ... Wrapper-Klassen und Autoboxing ... 718

11.6 ... Iterator, Iterable * ... 737

11.7 ... Annotationen in der Java SE ... 745

11.8 ... Zum Weiterlesen ... 750

12. Generics ... 751

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

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

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

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

12.5 ... Generics und Vererbung, Invarianz ... 784

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

12.7 ... Zum Weiterlesen ... 806

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

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

13.2 ... Methodenreferenz ... 831

13.3 ... Konstruktorreferenz ... 836

13.4 ... Funktionale Programmierung ... 839

13.5 ... Funktionale Schnittstellen aus dem [...].function-Paket ... 848

13.6 ... Optional ist keine Nullnummer ... 863

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

13.8 ... Zum Weiterlesen ... 876

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

14.1 ... SOLIDe Modellierung ... 877

14.2 ... Architektur, Design und Implementierung ... 881

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

14.4 ... Zum Weiterlesen ... 890

15. Java Platform Module System ... 891

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

15.2 ... Module im JPMS einbinden ... 897

15.3 ... Eigene Module entwickeln ... 902

15.4 ... Zum Weiterlesen ... 911

16. Die Klassenbibliothek ... 913

16.1 ... Die Java-Klassenphilosophie ... 913

16.2 ... Einfache Zeitmessung und Profiling * ... 917

16.3 ... Die Klasse Class ... 918

16.4 ... Die Utility-Klassen System und Properties ... 921

16.5 ... Sprachen der Länder ... 929

16.6 ... Wichtige Datum-Klassen im Überblick ... 933

16.7 ... Date-Time-API ... 935

16.8 ... Logging mit Java ... 940

16.9 ... Maven: Build-Management und Abhängigkeiten auflösen ... 943

16.10 ... Zum Weiterlesen ... 945

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

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

17.2 ... Existierende Threads und neue Threads erzeugen ... 951

17.3 ... Der Ausführer (Executor) kommt ins Spiel ... 965

17.4 ... Zum Weiterlesen ... 981

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

18.1 ... Listen ... 983

18.2 ... Mengen (Sets) ... 998

18.3 ... Assoziative Speicher ... 1009

18.4 ... Ausgewählte Basistypen ... 1015

18.5 ... Java-Stream-API ... 1016

18.6 ... Einen Stream erzeugen ... 1019

18.7 ... Terminale Operationen ... 1022

18.8 ... Intermediäre Operationen ... 1029

18.9 ... Zum Weiterlesen ... 1036

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

19.1 ... GUI-Frameworks ... 1039

19.2 ... Abstract Window Toolkit (AWT) ... 1040

19.3 ... Java Foundation Classes und Swing ... 1043

19.4 ... JavaFX ... 1045

19.5 ... Standard Widget Toolkit (SWT) * ... 1047

19.6 ... Zum Weiterlesen ... 1048

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

20.1 ... Alte und neue Welt in [...] und [...] ... 1049

20.2 ... Dateisysteme und Pfade ... 1050

20.3 ... Dateien mit wahlfreiem Zugriff ... 1060

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

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

20.6 ... Zum Weiterlesen ... 1085

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

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

21.2 ... Eine Beispielabfrage ... 1090

21.3 ... Zum Weiterlesen ... 1091

22. Bits und...

Details
Erscheinungsjahr: 2025
Fachbereich: Programmiersprachen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Reihe: Rheinwerk Computing
Inhalt: 1224 S.
ISBN-13: 9783367111343
ISBN-10: 3367111341
Sprache: Deutsch
Einband: Gebunden
Autor: Ullenboom, Christian
Auflage: 18. Auflage
Hersteller: Rheinwerk Verlag GmbH
Verantwortliche Person für die EU: Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53229 Bonn, service@rheinwerk-verlag.de
Maße: 245 x 204 x 66 mm
Von/Mit: Christian Ullenboom
Erscheinungsdatum: 04.12.2025
Gewicht: 2,378 kg
Artikel-ID: 134292172

Ähnliche Produkte