Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Java ist auch eine Insel

Insel 1: Einführung, Ausbildung, Praxis

*****

Buch | Hardcover
1306 Seiten
2014 | 11., aktualisierte und erweiterte Auflage
Galileo Press (Verlag)
978-3-8362-2873-2 (ISBN)

Lese- und Medienproben

Java ist auch eine Insel - Christian Ullenboom
CHF 69,85 inkl. MwSt
zur Neuauflage
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
Java 8 und die neue Insel sind da!
  • Java-Sprachgrundlagen: von Klassen und Objekten bis zu Datenstrukturen und Algorithmen
  • Lernen an vielen kleinen, praxisnahen Beispielen
  • Infos und Tipps zur Arbeit mit Eclipse und NetBeans
  • Lehr- und Arbeitsbuch sowie Java-Referenz in einem

Dieses 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 (Ganz neu: Lambda-Ausdrücke!) gibt es kompakte Einführungen in Spezialthemen. So erfahren Sie einiges über Threads, Swing, Netzwerkprogrammierung, NetBeans, RMI, XML und Java, Servlets und Java Server Pages. Dieses Buch gehört in das Regal eines jeden Java-Programmierers. Es liegt hiermit in der 11. Auflage vor.

Christian Ullenboom, Dipl.-Informatiker, ist Sun-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.

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-Plattformen: Java SE, Java EE, Java ME und Java Card ... 73


1.4 ... Die Installation der Java Platform Standard Edition (Java SE) ... 77


1.5 ... Das erste Programm compilieren und testen ... 86


1.6 ... Entwicklungsumgebungen im Allgemeinen ... 91


1.7 ... Eclipse im Speziellen ... 94


1.8 ... NetBeans im Speziellen ... 101


1.9 ... Zum Weiterlesen ... 104





2. Imperative Sprachkonzepte ... 107



2.1 ... Elemente der Programmiersprache Java ... 107


2.2 ... Von der Klasse zur Anweisung ... 115


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


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


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


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


2.7 ... Methoden einer Klasse ... 197


2.8 ... Zum Weiterlesen ... 223





3. Klassen und Objekte ... 225



3.1 ... Objektorientierte Programmierung (OOP) ... 225


3.2 ... Eigenschaften einer Klasse ... 227


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


3.4 ... Neue Objekte erzeugen ... 232


3.5 ... ZZZZZnake ... 243


3.6 ... Pakete schnüren, Imports und Kompilationseinheiten ... 246


3.7 ... Mit Referenzen arbeiten, Identität und Gleichheit ... 253


3.8 ... Arrays ... 265


3.9 ... Der Einstiegspunkt für das Laufzeitsystem: main(...) ... 304


3.10 ... Grundlagen von Annotationen und Generics ... 308


3.11 ... Zum Weiterlesen ... 316





4. Der Umgang mit Zeichenketten ... 317



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


4.2 ... Die Character-Klasse ... 326


4.3 ... Zeichenfolgen ... 330


4.4 ... Die Klasse String und ihre Methoden ... 332


4.5 ... Veränderbare Zeichenketten mit StringBuilder und StringBuffer ... 357


4.6 ... CharSequence als Basistyp ... 367


4.7 ... Strings mit StringJoiner zusammenhängen ... 369


4.8 ... Konvertieren zwischen Primitiven und Strings ... 371


4.9 ... Zerlegen von Zeichenketten ... 379


4.10 ... Ausgaben formatieren ... 384


4.11 ... Zum Weiterlesen ... 391





5. Eigene Klassen schreiben ... 393



5.1 ... Eigene Klassen mit Eigenschaften deklarieren ... 393


5.2 ... Privatsphäre und Sichtbarkeit ... 403


5.3 ... Eine für alle -- statische Methode und statische Attribute ... 414


5.4 ... Konstanten und Aufzählungen ... 420


5.5 ... Objekte anlegen und zerstören ... 428


5.6 ... Klassen- und Objektinitialisierung * ... 440


5.7 ... Zum Weiterlesen ... 450





6. Objektorientierte Beziehungsfragen ... 451



6.1 ... Assoziationen zwischen Objekten ... 451


6.2 ... Vererbung ... 456


6.3 ... Typen in Hierarchien ... 466


6.4 ... Methoden überschreiben ... 472


6.5 ... Drum prüfe, wer sich ewig dynamisch bindet ... 482


6.6 ... Abstrakte Klassen und abstrakte Methoden ... 490


6.7 ... Schnittstellen ... 495


6.8 ... Zum Weiterlesen ... 531





7. Ausnahmen müssen sein ... 533



7.1 ... Problembereiche einzäunen ... 533


7.2 ... RuntimeException muss nicht aufgefangen werden ... 549


7.3 ... Die Klassenhierarchie der Fehler ... 551


7.4 ... Harte Fehler -- Error * ... 559


7.5 ... Auslösen eigener Exceptions ... 560


7.6 ... Automatisches Ressourcen-Management (try mit Ressourcen) ... 579


7.7 ... Besonderheiten bei der Ausnahmebehandlung * ... 589


7.8 ... Den Stack-Trace erfragen * ... 594


7.9 ... Assertions * ... 597


7.10 ... Zum Weiterlesen ... 601





8. Äußere.innere Klassen ... 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 * ... 616


8.7 ... this in Unterklassen * ... 617


8.8 ... Zum Weiterlesen ... 618





9. Besondere Typen der Java SE ... 619



9.1 ... Vergleichen von Objekten ... 620


9.2 ... Wrapper-Klassen und Autoboxing ... 627


9.3 ... Object ist die Mutter aller Klassen ... 646


9.4 ... Die Utility-Klasse java.util.Objects ... 669


9.5 ... Iterator, Iterable * ... 671


9.6 ... Die Spezial-Oberklasse Enum ... 678


9.7 ... Zum Weiterlesen ... 687





10. Generics ... 689



10.1 ... Einführung in Java Generics ... 689


10.2 ... Umsetzen der Generics, Typlöschung und Raw-Types ... 705


10.3 ... Einschränken der Typen über Bounds ... 714


10.4 ... Typparameter in der throws-Klausel * ... 717


10.5 ... Generics und Vererbung, Invarianz ... 720


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





11. Lambda-Ausdrücke und funktionale Programmierung ... 745



11.1 ... Code = Daten ... 745


11.2 ... Funktionale Schnittstellen und Lambda-Ausdrücke im Detail ... 748


11.3 ... Methoden-Referenz ... 767


11.4 ... Konstruktor-Referenz ... 770


11.5 ... Implementierung von Lambda-Ausdrücken * ... 774


11.6 ... Funktionale Programmierung mit Java ... 774


11.7 ... Funktionale Schnittstelle aus dem java.util.function-Paket ... 779


11.8 ... Optional ist keine Nullnummer ... 793


11.9 ... Was ist jetzt so funktional? ... 803


11.10 ... Zum Weiterlesen ... 806





12. Architektur, Design und angewandte Objektorientierung ... 807



12.1 ... Architektur, Design und Implementierung ... 807


12.2 ... Design-Pattern (Entwurfsmuster) ... 808


12.3 ... JavaBeans ... 822


12.4 ... JavaFX Properties ... 831


12.5 ... Zum Weiterlesen ... 844





13. Die Klassenbibliothek ... 845



13.1 ... Die Java-Klassenphilosophie ... 845


13.2 ... Sprachen der Länder ... 850


13.3 ... Die Klasse Date ... 853


13.4 ... Calendar und GregorianCalendar ... 856


13.5 ... Klassenlader (Class Loader) und Klassenpfad ... 869


13.6 ... Die Utility-Klasse System und Properties ... 872


13.7 ... Einfache Benutzereingaben ... 882


13.8 ... Ausführen externer Programme * ... 884


13.9 ... Benutzereinstellungen * ... 892


13.10 ... Zum Weiterlesen ... 898





14. Einführung in die nebenläufige Programmierung ... 901



14.1 ... Nebenläufigkeit und Parallelität ... 901


14.2 ... Threads erzeugen ... 905


14.3 ... Thread-Eigenschaften und -Zustände ... 911


14.4 ... Der Ausführer (Executor) kommt ... 920


14.5 ... Synchronisation über kritische Abschnitte ... 929


14.6 ... Zum Weiterlesen ... 945





15. Einführung in Datenstrukturen und Algorithmen ... 947



15.1 ... Listen ... 947


15.2 ... Mengen (Sets) ... 962


15.3 ... Assoziative Speicher ... 972


15.4 ... Mit einem Iterator durch die Daten wandern ... 991


15.5 ... Algorithmen in Collections ... 991


15.6 ... Zum Weiterlesen ... 1008





16. Einführung in grafische Oberflächen ... 1009



16.1 ... GUI-Frameworks ... 1009


16.2 ... Deklarative und programmierte Oberflächen ... 1013


16.3 ... GUI-Builder ... 1015


16.4 ... Aller Swing-Anfang -- Fenster zur Welt ... 1016


16.5 ... Beschriftungen (JLabel) ... 1020


16.6 ... Es tut sich was -- Ereignisse beim AWT ... 1023


16.7 ... Schaltflächen ... 1033


16.8 ... Alles Auslegungssache -- die Layoutmanager ... 1038


16.9 ... Textkomponenten ... 1047


16.10 ... Grundlegendes zum Zeichnen ... 1055


16.11 ... Zum Weiterlesen ... 1061





17. Einführung in Dateien und Datenströme ... 1063



17.1 ... Dateisysteme unter NIO.2 ... 1063


17.2 ... Datei und Verzeichnis ... 1064


17.3 ... Dateien mit wahlfreiem Zugriff ... 1077


17.4 ... Stream-Klassen für Bytes und Zeichen ... 1081


17.5 ... Basisklassen für die Ein-/Ausgabe ... 1089


17.6 ... Datenströme filtern und verketten ... 1098


17.7 ... Vermittler zwischen Byte-Streams und Unicode-Strömen ... 1104


17.8 ... Zum Weiterlesen ... 1107





18. Einführung ins Datenbankmanagement mit JDBC ... 1109



18.1 ... Relationale Datenbanken ... 1109


18.2 ... Datenbanken und Tools ... 1110


18.3 ... JDBC und Datenbanktreiber ... 1113


18.4 ... Eine Beispielabfrage ... 1114


18.5 ... Zum Weiterlesen ... 1116





19. Einführung in ... 1117



19.1 ... Auszeichnungssprachen ... 1117


19.2 ... Eigenschaften von XML-Dokumenten ... 1118


19.3 ... Die Java-APIs für XML ... 1129


19.4 ... Java Architecture for XML Binding (JAXB) ... 1133


19.5 ... XML-Dateien mit JDOM verarbeiten ... 1158


19.6 ... Zum Weiterlesen ... 1180





20. Testen mit JUnit ... 1181



20.1 ... Softwaretests ... 1181


20.2 ... Das Test-Framework JUnit ... 1182


20.3 ... Wie gutes Design das Testen ermöglicht ... 1194


20.4 ... Aufbau größerer Testfälle ... 1197


20.5 ... Dummy, Fake, Stub und Mock ... 1200


20.6 ... JUnit-Erweiterungen, Testzusätze ... 1201


20.7 ... Zum Weiterlesen ... 1202





21. Bits und Bytes und Mathematisches ... 1203



21.1 ... Bits und Bytes * ... 1203


21.2 ... Fließkomma-Arithmetik in Java ... 1216


21.3 ... Die Eigenschaften der Klasse Math ... 1222


21.4 ... Genauigkeit, Wertebereich eines Typs und Überlaufkontrolle * ... 1233


21.5 ... Zufallszahlen: Random, SecureRandom, SplittableRandom ... 1237


21.6 ... Große Zahlen * ... 1241


21.7 ... Mathe bitte strikt * ... 1253


21.8 ... Zum Weiterlesen ... 1255





22. Die Werkzeuge des JDK ... 1257



22.1 ... Java-Quellen übersetzen ... 1257


22.2 ... Die Java-Laufzeitumgebung ... 1260


22.3 ... Mit RoboVM geht's für Java in das iOS-Land * ... 1263


22.4 ... Dokumentationskommentare mit Javadoc ... 1264


22.5 ... Das Archivformat JAR ... 1273





A. Java SE Paketübersicht ... 1281




Index ... 1293

Erscheint lt. Verlag 27.5.2014
Reihe/Serie Galileo Computing
Verlagsort Bonn
Sprache deutsch
Maße 190 x 240 mm
Gewicht 2572 g
Einbandart gebunden
Themenwelt Informatik Programmiersprachen / -werkzeuge Eclipse
Informatik Programmiersprachen / -werkzeuge Java
Schlagworte Eclipse • EJB • Insel • Java • Java 8 (Programmiersprache); Handbuch/Lehrbuch • JDBC • JDK • JSP • NetBeans • Performanz • XML
ISBN-10 3-8362-2873-4 / 3836228734
ISBN-13 978-3-8362-2873-2 / 9783836228732
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Kennenlernen. Verstehen. Effizient nutzen.

von Thomas Künneth

Buch (2018)
Hanser, Carl (Verlag)
CHF 54,60