Warenkorb

Java ist auch eine Insel

Java programmieren lernen mit dem umfassenden Standardwerk für Java-Entwickler

"Ein Kultbuch." - iX - Magazin für professionelle Informationstechnik

Das Standardwerk zur Java-Programmierung in 14. Auflage! Aktuell zu Java 11

Programmieren mit der Java Platform, Standard Edition 11
Java von A bis Z: Einführung, Praxis, Referenz
Von Ausdrücken und Anweisungen zu Klassen und Objekten

Unser Handbuch ist die erste Wahl, wenn es um aktuelles und praktisches Java-Wissen geht. Java-Einsteiger, Studenten und Umsteiger profitieren seit mehr als einem Jahrzehnt 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, XML und Java. Dieses Buch gehört in das Regal eines jeden Java-Programmierers.

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, XML usw.
Portrait
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.
… weiterlesen
  • Artikelbild-0


  •   Vorwort ... 31

      1.  Java ist auch eine Sprache ... 49

           1.1 ... Historischer Hintergrund ... 49

           1.2 ... Warum Java gut ist -- die zentralen Eigenschaften ... 51

           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 ... Die Installation des Oracle OpenJDK ... 81

           1.8 ... Das erste Programm compilieren und testen ... 83

           1.9 ... Entwicklungsumgebungen im Allgemeinen ... 87

           1.10 ... Eclipse IDE im Speziellen ... 89

           1.11 ... Zum Weiterlesen ... 101

      2.  Imperative Sprachkonzepte ... 103

           2.1 ... Elemente der Programmiersprache Java ... 103

           2.2 ... Von der Klasse zur Anweisung ... 111

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

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

           2.5 ... Bedingte Anweisungen oder Fallunterscheidungen ... 166

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

           2.7 ... Methoden einer Klasse ... 199

           2.8 ... Zum Weiterlesen ... 226

      3.  Klassen und Objekte ... 227

           3.1 ... Objektorientierte Programmierung (OOP) ... 227

           3.2 ... Eigenschaften einer Klasse ... 229

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

           3.4 ... Neue Objekte erzeugen ... 234

           3.5 ... ZZZZZnake ... 246

           3.6 ... Pakete schnüren, Importe und Kompilationseinheiten ... 249

           3.7 ... Mit Referenzen arbeiten, Identität und Gleichheit (Gleichwertigkeit) ... 256

           3.8 ... Zum Weiterlesen ... 268

      4.  Arrays und ihre Anwendungen ... 269

           4.1 ... Arrays ... 269

           4.2 ... Der Einstiegspunkt für das Laufzeitsystem: main(...) ... 311

           4.3 ... Zum Weiterlesen ... 315

      5.  Der Umgang mit Zeichenketten ... 317

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

           5.2 ... Die Character-Klasse ... 326

           5.3 ... Zeichenfolgen ... 332

           5.4 ... Die Klasse String und ihre Methoden ... 334

           5.5 ... Veränderbare Zeichenketten mit StringBuilder und StringBuffer ... 360

           5.6 ... CharSequence als Basistyp ... 370

           5.7 ... Konvertieren zwischen Primitiven und Strings ... 373

           5.8 ... Strings zusammenhängen (konkatenieren) ... 382

           5.9 ... Zerlegen von Zeichenketten ... 384

           5.10 ... Ausgaben formatieren ... 390

           5.11 ... Zum Weiterlesen ... 396

      6.  Eigene Klassen schreiben ... 397

           6.1 ... Eigene Klassen mit Eigenschaften deklarieren ... 397

           6.2 ... Privatsphäre und Sichtbarkeit ... 409

           6.3 ... Eine für alle -- statische Methoden und statische Attribute ... 419

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

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

           6.6 ... Klassen- und Objektinitialisierung * ... 446

           6.7 ... Zum Weiterlesen ... 456

      7.  Objektorientierte Beziehungsfragen ... 457

           7.1 ... Assoziationen zwischen Objekten ... 457

           7.2 ... Vererbung ... 464

           7.3 ... Typen in Hierarchien ... 475

           7.4 ... Methoden überschreiben ... 482

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

           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 ... Die Klassenhierarchie der Ausnahmen ... 569

           8.3 ... RuntimeException muss nicht aufgefangen werden ... 579

           8.4 ... Harte Fehler -- Error * ... 581

           8.5 ... Auslösen eigener Exceptions ... 582

           8.6 ... Automatisches Ressourcen-Management (try mit Ressourcen) ... 602

           8.7 ... Besonderheiten bei der Ausnahmebehandlung * ... 611

           8.8 ... Assertions * ... 617

           8.9 ... Zum Weiterlesen ... 621

      9.  Geschachtelte.Typen ... 623

           9.1 ... Geschachtelte Klassen, Schnittstellen, 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 ... Einschränken der Typen über Bounds ... 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 ... Code = Daten ... 785

           12.2 ... Funktionale Schnittstellen und Lambda-Ausdrücke im Detail ... 788

           12.3 ... Methodenreferenz ... 809

           12.4 ... Konstruktorreferenz ... 813

           12.5 ... Implementierung von Lambda-Ausdrücken * ... 816

           12.6 ... Funktionale Programmierung mit Java ... 817

           12.7 ... Funktionale Schnittstelle aus dem java.util.function-Paket ... 821

           12.8 ... Optional ist keine Nullnummer ... 836

           12.9 ... Was ist jetzt so funktional? ... 847

           12.10 ... Zum Weiterlesen ... 849

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

           13.1 ... Architektur, Design und Implementierung ... 851

           13.2 ... Design-Patterns (Entwurfsmuster) ... 852

           13.3 ... Zum Weiterlesen ... 860

    14.  Komponenten, JavaBeans und Module ... 861

           14.1 ... JavaBeans ... 861

           14.2 ... Klassenlader (Class Loader) und Modul-/Klassenpfad ... 870

           14.3 ... Module entwickeln und einbinden ... 876

           14.4 ... Zum Weiterlesen ... 891

    15.  Die Klassenbibliothek ... 893

           15.1 ... Die Java-Klassenphilosophie ... 893

           15.2 ... Einfache Zeitmessung und Profiling * ... 901

           15.3 ... Die Klasse Class ... 904

           15.4 ... Klassenlader ... 907

           15.5 ... Die Utility-Klassen System und Properties ... 908

           15.6 ... Sprachen der Länder ... 917

           15.7 ... Wichtige Datum-Klassen im Überblick ... 922

           15.8 ... Date-Time-API ... 924

           15.9 ... Logging mit Java ... 930

           15.10 ... Maven: Build-Management und Abhängigkeiten auflösen ... 933

           15.11 ... Zum Weiterlesen ... 937

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

           16.1 ... Nebenläufigkeit und Parallelität ... 939

           16.2 ... Laufende Threads, neue Threads erzeugen ... 943

           16.3 ... Thread-Eigenschaften und Zustände ... 950

           16.4 ... Der Ausführer (Executor) kommt ... 964

           16.5 ... Zum Weiterlesen ... 977

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

           17.1 ... Listen ... 979

           17.2 ... Mengen (Sets) ... 998

           17.3 ... Java Stream API ... 1009

           17.4 ... Stream erzeugen ... 1012

           17.5 ... Terminale Stream-Operationen ... 1016

           17.6 ... Intermediäre Stream-Operationen ... 1027

           17.7 ... Zum Weiterlesen ... 1033

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

           18.1 ... GUI-Frameworks ... 1035

           18.2 ... Deklarative und programmierte Oberflächen ... 1039

           18.3 ... GUI-Builder ... 1041

           18.4 ... Mit dem Eclipse WindowBuilder zur ersten Swing-Oberfläche ... 1042

           18.5 ... Grundlegendes zum Zeichnen ... 1054

           18.6 ... Zum Weiterlesen ... 1060

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

           19.1 ... Alte und neue Welt in java.io und java.nio ... 1061

           19.2 ... Dateisysteme und Pfade ... 1063

           19.3 ... Dateien mit wahlfreiem Zugriff ... 1072

           19.4 ... Basisklassen für die Ein-/Ausgabe ... 1078

           19.5 ... Lesen aus Dateien und Schreiben in Dateien ... 1092

           19.6 ... Zum Weiterlesen ... 1098

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

           20.1 ... Relationale Datenbanken und Datenbankmanagementsysteme ... 1099

           20.2 ... JDBC und Datenbanktreiber ... 1102

           20.3 ... Eine Beispielabfrage ... 1104

           20.4 ... Zum Weiterlesen ... 1106

    21.  Einführung in ... 1107

           21.1 ... Auszeichnungssprachen ... 1107

           21.2 ... Eigenschaften von XML-Dokumenten ... 1108

           21.3 ... Die Java-APIs für XML ... 1120

           21.4 ... Java Architecture for XML Binding (JAXB) ... 1124

           21.5 ... Zum Weiterlesen ... 1131

    22.  Bits und Bytes, Mathematisches und Geld ... 1133

           22.1 ... Bits und Bytes ... 1133

           22.2 ... Fließkomma-Arithmetik in Java ... 1148

           22.3 ... Die Eigenschaften der Klasse Math ... 1154

           22.4 ... Genauigkeit, Wertebereich eines Typs und Überlaufkontrolle * ... 1165

           22.5 ... Zufallszahlen: Random, SecureRandom, SplittableRandom ... 1170

           22.6 ... Große Zahlen * ... 1175

           22.7 ... Mathe bitte strikt * ... 1188

           22.8 ... Geld und Währung ... 1190

           22.9 ... Zum Weiterlesen ... 1192

    23.  Testen mit JUnit ... 1193

           23.1 ... Softwaretests ... 1193

           23.2 ... Das Test-Framework JUnit ... 1194

           23.3 ... Wie gutes Design das Testen ermöglicht ... 1208

           23.4 ... Aufbau größerer Testfälle ... 1210

           23.5 ... Dummy, Fake, Stub und Mock ... 1214

           23.6 ... JUnit-Erweiterungen, Testzusätze ... 1215

           23.7 ... Zum Weiterlesen ... 1216

    24.  Die Werkzeuge des JDK ... 1217

           24.1 ... Übersicht ... 1217

           24.2 ... Java-Quellen übersetzen ... 1218

           24.3 ... Die Java-Laufzeitumgebung ... 1221

           24.4 ... jlink: der Java Linker ... 1224

           24.5 ... Dokumentationskommentare mit Javadoc ... 1225

           24.6 ... Das Archivformat JAR ... 1235

           24.7 ... Zum Weiterlesen ... 1240

      Anhang ... 1241

      Index ... 1261

In den Warenkorb

Beschreibung

Produktdetails

Einband gebundene Ausgabe
Seitenzahl 1278
Erscheinungsdatum 21.12.2018
Sprache Deutsch
ISBN 978-3-8362-6721-2
Reihe Rheinwerk Computing
Verlag Rheinwerk
Maße (L/B/H) 24,6/19,5/7,1 cm
Gewicht 2450 g
Auflage 14. aktualisierte u. überarbeitete Auflage
Verkaufsrang 43090
Buch (gebundene Ausgabe)
Buch (gebundene Ausgabe)
49,90
49,90
inkl. gesetzl. MwSt.
inkl. gesetzl. MwSt.
Sofort lieferbar Versandkostenfrei
Sofort lieferbar
Versandkostenfrei
In den Warenkorb
PAYBACK Punkte
Vielen Dank für Ihr Feedback!
Entschuldigung, beim Absenden Ihres Feedbacks ist ein Fehler passiert. Bitte versuchen Sie es erneut.
Ihr Feedback zur Seite
Haben Sie alle relevanten Informationen erhalten?
Ihr Feedback ist anonym. Wir nutzen es, um unsere Produktseiten zu verbessern. Bitte haben Sie Verständnis, dass wir Ihnen keine Rückmeldung geben können. Wenn Sie Kontakt mit uns aufnehmen möchten, können Sie sich aber gerne an unseren Kundenservice wenden.

Kundenbewertungen

Es wurden noch keine Bewertungen geschrieben.