

Beschreibung
Das Standardwerk zur Java-Programmierung von Christian UllenboomProgrammieren mit der Java Platform, Standard Edition 25Java von A bis Z: Einführung, Praxis, ReferenzVon Ausdrücken und Anweisungen zu Klassen und ObjektenJava-Bücher gibt es wie Sand am Meer, ab...Das Standardwerk zur Java-Programmierung von Christian UllenboomProgrammieren mit der Java Platform, Standard Edition 25Java von A bis Z: Einführung, Praxis, ReferenzVon Ausdrücken und Anweisungen zu Klassen und ObjektenJava-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 SprachkonzepteKlassen und ObjekteAusnahmebehandlungGenericsLambda-Ausdrücke und funktionale ProgrammierungDie KlassenbibliothekNebenläufige ProgrammierungEinführung in Datenstrukturen, GUI-Entwicklung, Dateien usw.
Vorwort
Das Standardwerk für Programmierer. Über 1.200 Seiten Java-Wissen. Mit vielen Beispielen und Übungen, aktuell zu Java 25
Autorentext
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.
Inhalt
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 java.util.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 ... Funk…