Java ist auch eine Insel
Galileo Press (Verlag)
978-3-8362-2873-2 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
- 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? |
aus dem Bereich