Buch, Deutsch, 1363 Seiten, Format (B × H): 190 mm x 240 mm
Programmieren lernen mit dem Standardwerk für Java-Entwickler. Ausgabe 2017, aktuell zu Java 9.
Buch, Deutsch, 1363 Seiten, Format (B × H): 190 mm x 240 mm
ISBN: 978-3-8362-5869-2
Verlag: Rheinwerk Verlag
Die „Insel“ ist die erste Wahl, wenn es um aktuelles und praktisches Java-Wissen geht. Java-Einsteiger, Studenten und Umsteiger 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, XML und Java. Dieses Buch gehört in das Regal eines jeden Java-Programmierers. Es liegt aktuell in der 13. 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, XML usw.
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
Vorwort ... 31 1. Java ist auch eine Sprache ... 47 1.1 ... Historischer Hintergrund ... 47 1.2 ... Warum Java gut ist -- die zentralen Eigenschaften ... 49 1.3 ... Java-Plattformen: Java SE, Java EE, Java ME, Java Card ... 69 1.4 ... Die Installation der Java Platform, Standard Edition (Java SE) ... 73 1.5 ... Das erste Programm compilieren und testen ... 84 1.6 ... Entwicklungsumgebungen im Allgemeinen ... 88 1.7 ... Eclipse im Speziellen ... 91 1.8 ... Zum Weiterlesen ... 98 2. Imperative Sprachkonzepte ... 99 2.1 ... Elemente der Programmiersprache Java ... 99 2.2 ... Von der Klasse zur Anweisung ... 107 2.3 ... Datentypen, Typisierung, Variablen und Zuweisungen ... 118 2.4 ... Ausdrücke, Operanden und Operatoren ... 135 2.5 ... Bedingte Anweisungen oder Fallunterscheidungen ... 159 2.6 ... Immer das Gleiche mit den Schleifen ... 174 2.7 ... Methoden einer Klasse ... 191 2.8 ... Zum Weiterlesen ... 218 3. Klassen und Objekte ... 219 3.1 ... Objektorientierte Programmierung (OOP) ... 219 3.2 ... Eigenschaften einer Klasse ... 221 3.3 ... Natürlich modellieren mit der UML (Unified Modeling Language) * ... 222 3.4 ... Neue Objekte erzeugen ... 226 3.5 ... ZZZZZnake ... 238 3.6 ... Pakete schnüren, Imports und Kompilationseinheiten ... 241 3.7 ... Mit Referenzen arbeiten, Identität und Gleichheit (Gleichwertigkeit) ... 248 3.8 ... Arrays ... 260 3.9 ... Der Einstiegspunkt für das Laufzeitsystem: main(...) ... 302 3.10 ... Zum Weiterlesen ... 306 4. Der Umgang mit Zeichenketten ... 307 4.1 ... Von ASCII über ISO-8859-1 zu Unicode ... 307 4.2 ... Die Character-Klasse ... 316 4.3 ... Zeichenfolgen ... 321 4.4 ... Die Klasse String und ihre Methoden ... 323 4.5 ... Veränderbare Zeichenketten mit StringBuilder und StringBuffer ... 348 4.6 ... CharSequence als Basistyp ... 359 4.7 ... Konvertieren zwischen Primitiven und Strings ... 361 4.8 ... Strings zusammenhängen (konkatenieren) ... 370 4.9 ... Zerlegen von Zeichenketten ... 373 4.10 ... Ausgaben formatieren ... 378 4.11 ... Zum Weiterlesen ... 384 5. Eigene Klassen schreiben ... 385 5.1 ... Eigene Klassen mit Eigenschaften deklarieren ... 385 5.2 ... Privatsphäre und Sichtbarkeit ... 396 5.3 ... Eine für alle -- statische Methode und statische Attribute ... 406 5.4 ... Konstanten und Aufzählungen ... 413 5.5 ... Objekte anlegen und zerstören ... 421 5.6 ... Klassen- und Objektinitialisierung * ... 433 5.7 ... Zum Weiterlesen ... 443 6. Objektorientierte Beziehungsfragen ... 445 6.1 ... Assoziationen zwischen Objekten ... 445 6.2 ... Vererbung ... 451 6.3 ... Typen in Hierarchien ... 462 6.4 ... Methoden überschreiben ... 468 6.5 ... Drum prüfe, wer sich dynamisch bindet ... 479 6.6 ... Abstrakte Klassen und abstrakte Methoden ... 487 6.7 ... Schnittstellen ... 495 6.8 ... Zum Weiterlesen ... 534 7. Ausnahmen müssen sein ... 535 7.1 ... Problembereiche einzäunen ... 535 7.2 ... Die Klassenhierarchie der Fehler ... 550 7.3 ... RuntimeException muss nicht aufgefangen werden ... 560 7.4 ... Harte Fehler -- Error * ... 561 7.5 ... Auslösen eigener Exceptions ... 562 7.6 ... Automatisches Ressourcen-Management (try mit Ressourcen) ... 582 7.7 ... Besonderheiten bei der Ausnahmebehandlung * ... 592 7.8 ... Assertions * ... 597 7.9 ... Zum Weiterlesen ... 601 8. Äußere.innere Typen ... 603 8.1 ... Geschachtelte (innere) Klassen, Schnittstellen, Aufzählungen ... 603 8.2 ... Statische innere Klassen und Schnittstellen ... 604 8.3 ... Mitglieds- oder Elementklassen ... 606 8.4 ... Lokale Klassen ... 611 8.5 ... Anonyme innere Klassen ... 613 8.6 ... Zugriff auf lokale Variablen aus lokalen inneren und anonymen Klassen * ... 617 8.7 ... this in Unterklassen * ... 618 8.8 ... Zum Weiterlesen ... 620 9. Besondere Typen der Java SE ... 621 9.1 ... Object ist die Mutter aller Klassen ... 622 9.2 ... Schwache Referenzen und Cleaner ... 647 9.3 ... Die Utility-Klasse java.util.Objects ... 648 9.4 ... Vergleichen von Objekten und Ordnung herstellen ... 652 9.5 ... Wrapper-Klassen und Autoboxing ... 660 9.6 ... Iterator, Iterable * ... 680 9.7 ... Die Spezial-Oberklasse Enum ... 687 9.8 ... Annotationen in der Java SE ... 697 9.9 ... Zum Weiterlesen ... 70310. Generics ... 705 10.1 ... Einführung in Java Generics ... 705 10.2 ... Umsetzen der Generics, Typlöschung und Raw-Types ... 721 10.3 ... Einschränken der Typen über Bounds ... 731 10.4 ... Typparameter in der throws-Klausel * ... 734 10.5 ... Generics und Vererbung, Invarianz ... 737 10.6 ... Konsequenzen der Typlöschung: Typ-Token, Arrays und Brücken * ... 751 10.7 ... Zum Weiterlesen ... 76111. Lambda-Ausdrücke und funktionale Programmierung ... 763 11.1 ... Code = Daten ... 763 11.2 ... Funktionale Schnittstellen und Lambda-Ausdrücke im Detail ... 766 11.3 ... Methodenreferenz ... 786 11.4 ... Konstruktorreferenz ... 790 11.5 ... Implementierung von Lambda-Ausdrücken * ... 793 11.6 ... Funktionale Programmierung mit Java ... 794 11.7 ... Funktionale Schnittstelle aus dem java.util.function-Paket ... 798 11.8 ... Optional ist keine Nullnummer ... 813 11.9 ... Was ist jetzt so funktional? ... 824 11.10 ... Zum Weiterlesen ... 82612. Architektur, Design und angewandte Objektorientierung ... 829 12.1 ... Architektur, Design und Implementierung ... 829 12.2 ... Design-Pattern (Entwurfsmuster) ... 830 12.3 ... Zum Weiterlesen ... 83913. Komponenten, JavaBeans und Module ... 841 13.1 ... JavaBeans ... 841 13.2 ... JavaFX Properties ... 850 13.3 ... Klassenlader (Class Loader) und Modul-/Klassenpfad ... 864 13.4 ... Module entwickeln und einbinden ... 869 13.5 ... Zum Weiterlesen ... 88514. Die Klassenbibliothek ... 887 14.1 ... Die Java-Klassenphilosophie ... 887 14.2 ... Die Klasse Class ... 895 14.3 ... Metadaten der Typen mit dem Class-Objekt ... 898 14.4 ... Die Utility-Klassen System und Properties ... 909 14.5 ... Sprachen der Länder ... 919 14.6 ... Wichtige Datum-Klassen im Überblick ... 923 14.7 ... Date-Time-API ... 925 14.8 ... Logging mit java.util.logging ... 934 14.9 ... Maven: Build-Management und Abhängigkeiten auflösen ... 941 14.10 ... Zum Weiterlesen ... 94515. Einführung in die nebenläufige Programmierung ... 947 15.1 ... Nebenläufigkeit und Parallelität ... 947 15.2 ... Threads erzeugen ... 951 15.3 ... Thread-Eigenschaften und Zustände ... 957 15.4 ... Der Ausführer (Executor) kommt ... 969 15.5 ... Zum Weiterlesen ... 98116. Einführung in Datenstrukturen und Algorithmen ... 983 16.1 ... Listen ... 983 16.2 ... Mengen (Sets) ... 1000 16.3 ... Assoziative Speicher ... 1009 16.4 ... Immutable Datenstrukturen ... 1033 16.5 ... Stream-API ... 1043 16.6 ... Zum Weiterlesen ... 106717. Einführung in grafische Oberflächen ... 1069 17.1 ... GUI-Frameworks ... 1069 17.2 ... Deklarative und programmierte Oberflächen ... 1073 17.3 ... GUI-Builder ... 1075 17.4 ... Aller Swing-Anfang -- Fenster zur Welt ... 1076 17.5 ... Es tut sich was -- Ereignisse beim AWT ... 1084 17.6 ... Schaltflächen ... 1097 17.7 ... Textkomponenten ... 1103 17.8 ... Grundlegendes zum Zeichnen ... 1114 17.9 ... Zum Weiterlesen ... 112018. Einführung in Dateien und Datenströme ... 1121 18.1 ... Alte und neue Welt in java.io und java.nio ... 1121 18.2 ... Dateisysteme und Pfade ... 1123 18.3 ... Dateien mit wahlfreiem Zugriff ... 1134 18.4 ... Basisklassen für die Ein-/Ausgabe ... 1139 18.5 ... Lesen aus Dateien und Schreiben in Dateien ... 1152 18.6 ... Vermittler zwischen Byte-Streams und Unicode-Strömen ... 1158 18.7 ... Zum Weiterlesen ... 116119. Einführung ins Datenbankmanagement mit JDBC ... 1163 19.1 ... Relationale Datenbanken und Datenbankmanagementsysteme ... 1163 19.2 ... JDBC und Datenbanktreiber ... 1169 19.3 ... Eine Beispielabfrage ... 1171 19.4 ... Zum Weiterlesen ... 117320. Einführung in ... 1175 20.1 ... Auszeichnungssprachen ... 1175 20.2 ... Eigenschaften von XML-Dokumenten ... 1176 20.3 ... Die Java-APIs für XML ... 1188 20.4 ... Java Architecture for XML Binding (JAXB) ... 1191 20.5 ... Zum Weiterlesen ... 121421. Bits und Bytes, Mathematisches und Geld ... 1217 21.1 ... Bits und Bytes * ... 1217 21.2 ... Fließkomma-Arithmetik in Java ... 1231 21.3 ... Die Eigenschaften der Klasse Math ... 1237 21.4 ... Genauigkeit, Wertebereich eines Typs und Überlaufkontrolle * ... 1248 21.5 ... Zufallszahlen: Random, SecureRandom, SplittableRandom ... 1253 21.6 ... Große Zahlen * ... 1257 21.7 ... Mathe bitte strikt * ... 1270 21.8 ... Geld und Währung ... 1272 21.9 ... Zum Weiterlesen ... 127422. Testen mit JUnit ... 1275 22.1 ... Softwaretests ... 1275 22.2 ... Das Test-Framework JUnit ... 1276 22.3 ... Wie gutes Design das Testen ermöglicht ... 1288 22.4 ... Aufbau größerer Testfälle ... 1291 22.5 ... Dummy, Fake, Stub und Mock ... 1294 22.6 ... JUnit-Erweiterungen, Testzusätze ... 1295 22.7 ... Zum Weiterlesen ... 129623. Die Werkzeuge des JDK ... 1299 23.1 ... Übersicht ... 1299 23.2 ... Java-Quellen übersetzen ... 1300 23.3 ... Die Java-Laufzeitumgebung ... 1303 23.4 ... jlink: der Java Linker ... 1306 23.5 ... Dokumentationskommentare mit Javadoc ... 1307 23.6 ... Das Archivformat JAR ... 1317 23.7 ... Zum Weiterlesen ... 1323 Java SE-Module und Paketübersicht ... 1325 Index ... 1345