Ullenboom | Java ist auch eine Insel | E-Book | www2.sack.de
E-Book

E-Book, Deutsch, 1234 Seiten

Reihe: Rheinwerk Computing

Ullenboom Java ist auch eine Insel

Einführung, Ausbildung, Praxis
18. Auflage 2025
ISBN: 978-3-367-11312-5
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

Einführung, Ausbildung, Praxis

E-Book, Deutsch, 1234 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-11312-5
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



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 18. 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.

Die Fachpresse zur Vorauflage:

mediennerd.de: »Ein wertvolles Lehr- und Arbeitsbuch für fortgeschrittene Java-Programmierer und bietet eine umfassende Referenz für den täglichen Gebrauch.«

Ullenboom Java ist auch eine Insel jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


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 ... Funktionale Programmierung ... 839  13.5 ... Funktionale Schnittstellen aus dem java.util.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 java.io und java.nio ... 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 Bytes, Mathematisches und Geld ... 1093  22.1 ... Bits und Bytes ... 1093  22.2 ... Gleitkomma-Arithmetik in Java ... 1108  22.3 ... Die Eigenschaften der Klasse Math ... 1114  22.4 ... Genauigkeit, Wertebereich eines Typs und Überlaufkontrolle * ... 1126  22.5 ... Zufallszahlen: Random, ThreadLocalRandom und SecureRandom ... 1131  22.6 ... Große Zahlen * ... 1135  22.7 ... Geld und Währung ... 1149  22.8 ... Zum Weiterlesen ... 1151

23.  Testen mit JUnit ... 1153  23.1 ... Softwaretests ... 1153  23.2 ... Das Test-Framework JUnit ... 1154  23.3 ... Java-Assertions-Bibliotheken und AssertJ ... 1167  23.4 ... Aufbau größerer Testfälle ... 1169  23.5 ... Wie gutes Design das Testen ermöglicht ... 1171  23.6 ... Dummy, Fake, Stub und Mock ... 1173  23.7 ... JUnit-Erweiterungen, Testzusätze ... 1176  23.8 ... Zum Weiterlesen ... 1177

24.  Die Werkzeuge des JDK ... 1179  24.1 ... Übersicht ... 1179  24.2 ... Java-Quellen übersetzen ... 1180  24.3 ... Die Java-Laufzeitumgebung ... 1182  24.4 ... Dokumentationskommentare mit Javadoc ... 1184  24.5 ... Das Archivformat JAR ... 1194  24.6 ... Zum Weiterlesen ... 1197  Anhang ... 1199  A ... Java SE-Module und Paketübersicht ... 1199  B ... Referenz Schlüsselwörter ... 1217  Index ... 1223


Ullenboom, Christian
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.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.