-10%
44,90 €
Statt 49,90 €**
44,90 €
inkl. MwSt.
**Preis der gedruckten Ausgabe (Gebundenes Buch)
Sofort per Download lieferbar
Versandkostenfrei*
0 °P sammeln
-10%
44,90 €
Statt 49,90 €**
44,90 €
inkl. MwSt.
**Preis der gedruckten Ausgabe (Gebundenes Buch)
Sofort per Download lieferbar
Versandkostenfrei*

Alle Infos zum eBook verschenken
0 °P sammeln
Als Download kaufen
Statt 49,90 €**
-10%
44,90 €
inkl. MwSt.
**Preis der gedruckten Ausgabe (Gebundenes Buch)
Sofort per Download lieferbar
0 °P sammeln
Jetzt verschenken
Statt 49,90 €**
-10%
44,90 €
inkl. MwSt.
**Preis der gedruckten Ausgabe (Gebundenes Buch)
Sofort per Download lieferbar

Alle Infos zum eBook verschenken
0 °P sammeln
  • Format: ePub

1 Kundenbewertung


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, Dateien und Datenströme. Dieses Buch gehört in das Regal eines jeden Java-Programmierers. Es liegt aktuell in der 15. Auflage vor.
Aus dem Inhalt:
Imperative Sprachkonzepte | Klassen und Objekte | Ausnahmebehandlung | Generics | Lambda-Ausdrücke und funktionale Programmierung
…mehr

  • Geräte: eReader
  • ohne Kopierschutz
  • eBook Hilfe
  • Größe: 12.38MB
Produktbeschreibung
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, Dateien und Datenströme. Dieses Buch gehört in das Regal eines jeden Java-Programmierers. Es liegt aktuell in der 15. 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: Java magazin: »Die neueste Version des Rheinwerk-Klassikers bietet Java-Programmierern einen Kurzüberblick über diverse Themen und taugt auch als Nachschlagewerk.«


Dieser Download kann aus rechtlichen Gründen nur mit Rechnungsadresse in A, B, BG, CY, CZ, D, DK, EW, E, FIN, F, GR, HR, H, IRL, I, LT, L, LR, M, NL, PL, P, R, S, SLO, SK ausgeliefert werden.

  • Produktdetails
  • Verlag: Rheinwerk Verlag GmbH
  • Seitenzahl: 1246
  • Erscheinungstermin: 25. Juni 2020
  • Deutsch
  • ISBN-13: 9783836277389
  • Artikelnr.: 58986685
Autorenporträt
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.
Inhaltsangabe
1 Schon wieder eine neue Sprache? 49
... 1.1 Der erste Kontakt 51
... 1.2 Historischer Hintergrund 51
... 1.3 Eigenschaften von Java 53
... 1.4 Java im Vergleich zu anderen Sprachen 59
... 1.6 Entwicklungs- und Laufzeitumgebungen 61
... 1.7 Installationsanleitung für das Java 2 65
... 1.8 Das erste Programm compilieren und testen 69
... 1.9 Eclipse 71

2 Sprachbeschreibung 79
... 2.1 Anweisungen und Programme 81
... 2.2 Elemente der Programmiersprache Java 83
... 2.3 Datentypen 95
... 2.4 Ausdrücke, Operanden und Operatoren 110
... 2.5 Bedingte Anweisungen oder Fallunterscheidungen 123
... 2.6 Schleifen 131
... 2.7 Methoden einer Klasse 142
... 2.8 Dokumentationskommentare 163
... 2.9 Einfache Benutzereingaben 178

3 Klassen und Objekte 181
... 3.1 Objektorientierte Programmierung 183
... 3.2 Klassen benutzen 184
... 3.3 Import und Pakete 192
... 3.4 Die API-Dokumentation 193
... 3.5 Mit Referenzen arbeiten 194
... 3.6 Arrays 200
... 3.7 Der Einstiegspunkt für das Laufzeitsystem main() 215
... 3.8 Eigene Pakete schnüren 218

4 Der Umgang mit Zeichenketten 223
... 4.1 Strings und deren Anwendung 225
... 4.2 Veränderbare Zeichenketten mit StringBuffer/StringBuilder 237
... 4.3 Vergleiche von Zeichenketten 241
... 4.4 Zeichenkodierungen 246
... 4.5 Reguläre Ausdrücke 248
... 4.6 Zerlegen von Zeichenketten 249
... 4.7 Formatieren von Ausgaben 256

5 Mathematisches 265
... 5.1 Arithmetik in Java 267
... 5.2 Die Funktionen der Math-Klasse 269
... 5.3 Mathe bitte strikt 274
... 5.4 Die Random-Klasse 275
... 5.5 Große Zahlen 276
... 5.6 Rechnen mit Einheiten: Java Units Specification 282

6 Eigene Klassen schreiben 285
... 6.1 Eigene Klassen definieren 287
... 6.2 Assoziationen zwischen Objekten 293
... 6.3 Privatsphäre und Sichtbarkeit 294
... 6.4 Statische Methoden und Attribute 301
... 6.5 Konstanten und Aufzählungen 306
... 6.6 Objekte anlegen und zerstören 311
... 6.7 Vererbung 327
... 6.8 Die oberste aller Klassen: Object 341
... 6.9 Die Oberklasse gibt Funktionalität vor 351
... 6.10 Abstrakte Klassen 358
... 6.11 Schnittstellen 364
... 6.12 Innere Klassen 378
... 6.13 Generische Datentypen 392
... 6.14 Die Spezial-Oberklasse Enum 399
... 6.15 Gegenseitige Abhängigkeiten von Klassen 403
... 6.16 Veraltete (deprecated) Methoden/Konstruktoren 403

7 Exceptions 407
... 7.1 Problembereiche einzäunen 409
... 7.2 Die Klassenhierarchie der Fehler 416
... 7.3 Werfen eigener Exceptions 420
... 7.4 Rückgabewerte bei ausgelösten Ausnahmen 424
... 7.5 Stack-Aufruf analysieren 425
... 7.6 Assertions 426

8 Die Funktionsbibliothek 429
... 8.1 Die Java-Klassenphilosophie 431
... 8.2 Wrapper-Klassen 437
... 8.3 Benutzereinstellungen 450
... 8.4 Systemeigenschaften der Java-Umgebung 453
... 8.5 Ausführung von externen Programmen 456
... 8.6 Klassenlader (Class Loader) 462
... 8.7 Zeitmessung und Profiling 467

9 Threads und nebenläufige Programmierung 469
... 9.1 Prozesse und Threads 471
... 9.2 Threads erzeugen 474
... 9.3 Die Zustände eines Threads 480
... 9.4 Arbeit niederlegen und wieder aufnehmen 489
... 9.5 Priorität 489
... 9.6 Dämonen 491
... 9.7 Kooperative und nichtkooperative Threads 492
... 9.8 Synchronisation über kritische Abschnitte 493
... 9.9 Synchronisation über Warten und Benachrichtigen 503
... 9.10 Atomares und frische Werte mit volatile 512
... 9.11 Aktive Threads in der Umgebung 514
... 9.12 Gruppen von Threads in einer Thread-Gruppe 514
... 9.13 Die Klassen Timer und TimerTask 522
... 9.14 Einen Abbruch der virtuellen Maschine erkennen 523

10 Raum und Zeit 525
... 10.1 Greenwich Mean Time (GMT) 527
... 10.2 Wichtige Datum-Klassen im Überblick 528
... 10.3 Zeitzonen und Sprachen der Länder 528
... 10.4 Sprachen der Länder 532
... 10.5 Einfache Übersetzung durch ResourceBundle-Objekte 536
... 10.6 Die Klasse Date 537
... 10.7 Calendar und GregorianCalendar 539
... 10.8 Formatieren der Datumsangaben 546

11 Datenstrukturen und Algorithmen 557
... 11.1 Mit einem Iterator durch die Daten wandern 559
... 11.2 Datenstrukturen und die Collection-API 561
... 11.3 Listen 569
... 11.4 Stack (Kellerspeicher, Stapel) 581
... 11.5 Queues (Schlangen) 582
... 11.6 Assoziative Speicher und die Klasse HashMap 584
... 11.7 Die Properties-Klasse 592
... 11.8 Mengen (Sets) 597
... 11.9 Algorithmen in Collections 600
... 11.10 Synchronisation der Datenstrukturen 609
... 11.11 Die abstrakten Basisklassen für Container 610
... 11.12 Die Klasse BitSet für Bitmengen 611
... 11.13 Ein Design-Pattern durch Beobachten von Änderungen 614

12 Datenströme und Dateien 621
... 12.1 Datei und Verzeichnis 623
... 12.2 Dateien mit wahlfreiem Zugriff 638
... 12.3 Stream-Klassen und Reader/Writer 642
... 12.4 Binäre Ein-/Ausgabe-Klassen InputStream und OutputStream 644
... 12.5 Daten filtern durch FilterInputStream und FilterOutputStream 652
... 12.6 Besondere OutputStream- und InputStream-Klassen 660
... 12.7 Ressourcen wie Grafiken aus dem Klassenpfad und aus Jar-Archiven laden 664
... 12.8 Die Unterklassen von Writer 664
... 12.9 Die Klassen um Reader 682
... 12.10 Die Filter für Zeichenströme 688
... 12.11 Kommunikation zwischen Threads mit Pipes 696
... 12.12 Datenkompression 700
... 12.13 Prüfsummen 712
... 12.14 Persistente Objekte und Serialisierung 716
... 12.15 Zugriff auf SMB-Server 732
... 12.16 Tokenizer 733
... 12.17 Die Logging-API 737

13 Die eXtensible Markup Language (XML) 741
... 13.1 Auszeichnungssprachen 743
... 13.2 Eigenschaften von XML-Dokumenten 744
... 13.3 Die Java-APIs für XML 753
... 13.4 XML-Dateien mit JDOM verarbeiten 754
... 13.5 JAXP als Java-Schnittstelle zu XML 771
... 13.6 Serielle Verarbeitung von XML mit SAX 775
... 13.7 HTML-Dokumenten mit JTidy und cyberneko einlesen 778

14 Grafikprogrammierung mit dem AWT 779
... 14.1 Das Abstract-Window-Toolkit 781
... 14.2 Das Toolkit 782
... 14.3 Fenster unter grafischen Oberflächen 783
... 14.4 Grundlegendes zum Zeichnen 788
... 14.5 Einfache Zeichenfunktionen 794
... 14.6 Zeichenketten schreiben 800
... 14.7 Clipping-Operationen 809
... 14.8 Farben 812
... 14.9 Bilder anzeigen und Grafiken verwalten 822
... 14.10 Java 2D-API 844
... 14.11 Von Produzenten, Konsumenten und Beobachtern 858
... 14.12 Filter 868
... 14.13 Drucken 871
... 14.14 Graphic Layers Framework 876
... 14.15 Grafikverarbeitung ohne grafische Oberfläche 876

15 Komponenten, Container und Ereignisse 879
... 15.1 Es tut sich was - Ereignisse beim AWT 881
... 15.2 Varianten, das Fenster zu schließen 886
... 15.3 Komponenten im AWT und in Swing 892
... 15.4 Das Swing-Fenster JFrame 900
... 15.5 Informationstext über die Klasse JLabel 902
... 15.6 Die Klasse ImageIcon 905
... 15.7 Eine Schaltfläche (JButton) 909
... 15.8 Tooltips 917
... 15.9 Der Container JPanel 918
... 15.10 Alles Auslegungssache: die Layoutmanager 918
... 15.11 Horizontale und vertikale Schieberegler 932
... 15.12 JSlider 936
... 15.13 Ein Auswahlmenü - Choice, JComboBox 937
... 15.14 Eines aus vielen - Kontrollfelder (JCheckBox) 943
... 15.15 Kontrollfeldgruppen, Optionsfelder und JRadioButton 945
... 15.16 Der Fortschrittsbalken JProgressBar 947
... 15.17 Rahmen (Borders) 949
... 15.18 Symbolleisten alias Toolbars 951
... 15.19 Menüs 953
... 15.20 Das Konzept des Model-View-Controllers 965
... 15.21 List-Boxen 967
... 15.22 JSpinner 969
... 15.23 Texteingabefelder 971
... 15.24 Bäume mit JTree-Objekten 980
... 15.25 Tabellen mit JTable 982
... 15.26 JRootPane, JLayeredPane und JDesktopPane 996
... 15.27 Flexibles Java-Look&Feel 1004
... 15.28 Swing-Beschriftungen einer anderen Sprache geben 1006
... 15.29 Die Zwischenablage (Clipboard) 1007
... 15.30 Undo durchführen 1010
... 15.31 Ereignisverarbeitung auf unterster Ebene 1012
... 15.32 AWT, Swing und die Threads 1013
... 15.33 Selbst definierte Cursor 1018
... 15.34 Mausrad-Unterstützung 1020
... 15.35 Benutzerinteraktionen automatisieren 1020
... 15.36 Alternativen zu AWT und Swing 1024

16 Netzwerkprogrammierung 1027
... 16.1 Grundlegende Begriffe 1029
... 16.2 URL-Verbindungen und URL-Objekte 1030
... 16.3 Die Klasse URLConnection 1038
... 16.4 Das Common Gateway Interface 1045
... 16.5 Host- und IP-Adressen 1050
... 16.6 NetworkInterface 1053
... 16.7 Mit dem Socket zum Server 1055
... 16.8 Client/Server-Kommunikation 1064
... 16.9 SLL-Verbindungen mit JSSE 1068
... 16.10 Apache Jakarta Commons HttpClient und Net 1069
... 16.11 E-Mail 1070
... 16.12 Arbeitsweise eines Web-Servers 1078
... 16.13 Datagram-Sockets 1085
... 16.14 Tiefer liegende Netzwerkeigenschaften 1095
... 16.15 Multicast-Kommunikation 1096

17 Servlets und Java Server Pages 1099
... 17.1 Dynamische Web-Seiten und Servlets 1101
... 17.2 Vom Client zum Server und wieder zurück 1104
... 17.3 Servlets und Java Server Pages entwickeln und testen 1107
... 17.4 Java Server Pages in Tomcat und Eclipse 1109
... 17.5 Skript-Elemente 1114
... 17.6 Implizite Objekte 1117
... 17.7 Was der Browser mit auf den Weg gibt - HttpServletRequest 1118
... 17.8 Formulardaten 1120
... 17.9 Das HttpServletResponse-Objekt 1123
... 17.10 JSP-Direktiven 1124
... 17.11 Aktionen 1128
... 17.12 Beans 1129
... 17.13 Kleine Kekse: die Klasse Cookies 1131
... 17.14 Sitzungsverfolgung (Session Tracking) 1138
... 17.15 Tag-Libraries 1143
... 17.16 Servlets 1145
... 17.17 Der Lebenszyklus eines Servlets 1148
... 17.18 Das HttpServletResponse-Objekt 1153
... 17.19 Objekte und Dateien per POST verschicken 1158
... 17.20 Servlets und Sessions 1159
... 17.21 Weiterleiten und Einbinden von Servlet-Inhalten 1160
... 17.22 Inter-Servlet-Kommunikation 1161
... 17.23 Internationalisierung 1162
... 17.24 Tomcat: Spezielles 1164

18 Verteilte Programmierung mit RMI und SOAP 1167
... 18.1 Entfernte Methoden 1169
... 18.2 Nutzen von RMI bei Middleware-Lösungen 1172
... 18.3 Die Lösung für Java ist RMI 1173
... 18.4 Definition einer entfernten Schnittstelle 1174
... 18.5 Das entfernte Objekt 1175
... 18.6 Stellvertreterobjekte erzeugen 1178
... 18.7 Der Namensdienst (Registry) 1179
... 18.8 Der Server 1180
... 18.9 Einen Client programmieren 1182
... 18.10 Aufräumen mit dem DGC 1183
... 18.11 Entfernte Objekte übergeben und laden 1184
... 18.12 Registry wird vom Server gestartet 1186
... 18.13 RMI über die Firewall 1187
... 18.14 RMI und CORBA 1188
... 18.15 UnicastRemoteObject, RemoteServer und RemoteObject 1188
... 18.16 Daily Soap 1189
... 18.17 Java-API für XML Messaging (JAXM) 1193
... 18.18 Java Message Service (JMS) 1194

19 Applets, Midlets und Sound 1197
... 19.1 Applets und Applikationen - wer darf was? 1199
... 19.2 Das erste Hallo-Applet 1199
... 19.3 Die Zyklen eines Applets 1200
... 19.4 Parameter an das Applet übergeben 1200
... 19.5 Fehler in Applets finden 1204
... 19.6 Browserabhängiges Verhalten 1204
... 19.7 Datenaustausch zwischen Applets 1206
... 19.8 Musik in einem Applet und in Applikationen 1209
... 19.9 Webstart 1212
... 19.10 Java 2 Micro Edition 1212

20 Datenbankmanagement mit JDBC 1217
... 20.1 Das relationale Modell 1219
... 20.2 JDBC: der Zugriff auf Datenbanken über Java 1220
... 20.3 Die Rolle von SQL 1220
... 20.4 Datenbanktreiber für den Zugriff 1225
... 20.5 Datenbanken und ihre Treiber 1226
... 20.6 Eine Beispielabfrage 1232
... 20.7 Mit Java an eine Datenbank andocken 1233
... 20.8 Datenbankabfragen 1239
... 20.9 Die Ausnahmen bei JDBC 1246
... 20.10 Transaktionen 1246
... 20.11 Elemente einer Datenbank hinzufügen und aktualisieren 1247
... 20.12 Vorbereitete Anweisungen (Prepared Statements) 1249
... 20.13 Die LOBs (Large Objects) 1251
... 20.14 Die SQL3-Datentypen ARRAY, STRUCT und REF 1252
... 20.15 Metadaten 1252
... 20.16 DataSource 1258
... 20.17 Java Data Objects (JDO) 1259
... 20.18 XML-Datenbanken 1260

21 Reflection und Annotationen 1263
... 21.1 MetaData 1265
... 21.2 Mit dem Class-Objekt etwas über Klassen erfahren 1267
... 21.3 Annotationen 1283
... 21.4 Objekte manipulieren 1284
... 21.5 Methoden aufrufen 1292
... 21.6 Informationen und Identifizierung von Paketen 1295

22 Komponenten durch Bohnen 1299
... 22.1 Grundlagen der Komponententechnik 1301
... 22.2 Das JavaBeans Development Kit (BDK) 1303
... 22.3 Die kleinste Bohne der Welt 1306
... 22.4 Jar-Archive für Komponenten 1306
... 22.5 Worauf JavaBeans basieren 1308
... 22.6 Eigenschaften 1309
... 22.7 Ereignisse 1312
... 22.8 Weitere Eigenschaften 1315
... 22.9 Bean-Eigenschaften anpassen 1319
... 22.10 Property-Editoren 1320
... 22.11 BeanInfo 1320
... 22.12 Beliebte Fehler 1321

23 Java Native Interface (JNI) 1323
... 23.1 Java Native Interface und Invocation-API 1325
... 23.2 Die Schritte zur Einbindung einer C-Funktion in ein Java-Programm 1326
... 23.3 Erweiterung unseres Programms 1329
... 23.4 Erweiterte JNI-Eigenschaften 1330

24 Sicherheitskonzepte 1335
... 24.1 Der Sandkasten (Sandbox) 1337
... 24.2 Sicherheitsmanager (Security Manager) 1337
... 24.3 Dienstprogramme zur Signierung 1346
... 24.4 Digitale Unterschriften 1347
... 24.5 Verschlüsseln von Daten(-strömen) 1352

25 Dienstprogramme für die Java-Umgebung 1357
... 25.1 Die Werkzeuge im Überblick 1359
... 25.2 Der Compiler javac 1359
... 25.3 Das Archivformat Jar 1362
... 25.4 Nativer Compiler JET 1367
... 25.5 Einpacken von Java-Programmen in ein exe mit JSmooth 1367
... 25.6 Decompiler 1367
... 25.7 Obfuscate Programm RetroGuard 1372
... 25.8 Sourcecode Beautifier 1373
... 25.9 Ant 1374

26 Style-Guide 1379
... 26.1 Programmierrichtlinien 1381
... 26.2 Allgemeine Richtlinien 1381
... 26.3 Quellcode kommentieren 1382
... 26.4 Bezeichnernamen 1385
... 26.5 Formatierung 1387
... 26.6 Ausdrücke 1389
... 26.7 Reihenfolge der Eigenschaften in Klassen 1390
... 26.8 Zugriffsrechte und Zugriffsmethoden 1391
... 26.9 Verweise 1392A Die Begleit-CD 1393

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

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 Klass
Rezensionen
Ob Java-Einsteiger, fortgeschrittener Hobbyprogrammierer oder professioneller Softwareentwickler: Dieses Buch ist das Standardbegleitwerk für die javabasierte Software-Entwicklung. So gut, dass es eigentlich mit dem Java-Development-Kit mitgeliefert werden sollte. Testmania 201407
"Die neueste Version (...) bietet Java-Programmierern einen Kurzüberblick über diverse Themen und taugt auch als Nachschlagewerk." Java magazin 201909