Grundkurs Programmieren in Java
von: Dietmar Ratz, Jens Scheffler, Dietmar Seese et al.
Carl Hanser Fachbuchverlag, 2011
ISBN: 9783446428355
Sprache: Deutsch
722 Seiten, Download: 4125 KB
Format: PDF, auch als Online-Lesen
Inhaltsverzeichnis | 6 | ||
Vorwort | 18 | ||
1 Einleitung | 20 | ||
1.1 Java – mehr als nur kalter Kaffee? | 20 | ||
1.2 Java für Anfänger – das Konzept dieses Buches | 21 | ||
1.3 Zusatzmaterial und Kontakt zu den Autoren | 23 | ||
1.4 Verwendete Schreibweisen | 23 | ||
2 Einige Grundbegriffe aus der Welt des Programmierens | 24 | ||
2.1 Computer, Software, Informatik und das Internet | 24 | ||
2.2 Was heißt Programmieren? | 27 | ||
Teil I: Einstieg in das Programmierenin Java | 30 | ||
3 Aller Anfang ist schwer | 32 | ||
3.1 Mein erstes Programm | 32 | ||
3.2 Formeln, Ausdrücke und Anweisungen | 33 | ||
3.3 Zahlenbeispiele | 34 | ||
3.4 Verwendung von Variablen | 35 | ||
3.5 ”Auf den Schirm!“ | 35 | ||
3.6 Das Programmgerüst | 36 | ||
3.7 Eingeben, übersetzen und ausführen | 38 | ||
3.8 Übungsaufgaben | 39 | ||
4 Grundlagen der Programmierung in Java | 40 | ||
4.1 Grundelemente eines Java-Programms | 40 | ||
4.1.1 Kommentare | 42 | ||
4.1.2 Bezeichner und Namen | 44 | ||
4.1.3 Literale | 45 | ||
4.1.4 Reservierte Wörter, Schlüsselwörter | 45 | ||
4.1.5 Trennzeichen | 46 | ||
4.1.6 Interpunktionszeichen | 47 | ||
4.1.7 Operatorsymbole | 47 | ||
4.1.8 import-Anweisungen | 48 | ||
4.1.9 Zusammenfassung | 49 | ||
4.1.10 Übungsaufgaben | 49 | ||
4.2 Erste Schritte in Java | 50 | ||
4.2.1 Grundstruktur eines Java-Programms | 51 | ||
4.2.2 Ausgaben auf der Konsole | 52 | ||
4.2.3 Eingaben von der Konsole | 53 | ||
4.2.4 Schöner programmieren in Java | 54 | ||
4.2.5 Zusammenfassung | 55 | ||
4.2.6 Übungsaufgaben | 55 | ||
4.3 Einfache Datentypen | 56 | ||
4.3.1 Ganzzahlige Datentypen | 56 | ||
4.3.2 Gleitkommatypen | 1 | ||
4.3.3 Der Datentyp char für Zeichen | 60 | ||
4.3.4 Zeichenketten | 61 | ||
4.3.5 Der Datentyp boolean für Wahrheitswerte | 61 | ||
4.3.6 Implizite und explizite Typumwandlungen | 61 | ||
4.3.7 Zusammenfassung | 63 | ||
4.3.8 Übungsaufgaben | 63 | ||
4.4 Der Umgang mit einfachen Datentypen | 64 | ||
4.4.1 Variablen | 64 | ||
4.4.2 Operatoren und Ausdrücke | 68 | ||
4.4.3 Allgemeine Ausdrücke | 78 | ||
4.4.4 Ein- und Ausgabe | 79 | ||
4.4.5 Zusammenfassung | 82 | ||
4.4.6 Übungsaufgaben | 82 | ||
4.5 Anweisungen und Ablaufsteuerung | 85 | ||
4.5.1 Anweisungen | 86 | ||
4.5.2 Blöcke und ihre Struktur | 86 | ||
4.5.3 Entscheidungsanweisung | 87 | ||
4.5.4 Wiederholungsanweisungen, Schleifen | 90 | ||
4.5.5 Sprungbefehle und markierte Anweisungen | 94 | ||
4.5.6 Zusammenfassung | 96 | ||
4.5.7 Übungsaufgaben | 96 | ||
5 Referenzdatentypen | 106 | ||
5.1 Felder | 108 | ||
5.1.1 Was sind Felder? | 110 | ||
5.1.2 Deklaration, Erzeugung und Initialisierung von Feldern | 111 | ||
5.1.3 Felder unbekannter Länge | 114 | ||
5.1.4 Referenzen | 116 | ||
5.1.5 Ein besserer Terminkalender | 120 | ||
5.1.6 Mehrdimensionale Felder | 122 | ||
5.1.7 Mehrdimensionale Felder unterschiedlicher Länge | 125 | ||
5.1.8 Vorsicht, Falle: Kopieren von mehrdimensionalen Feldern | 127 | ||
5.1.9 Vereinfachte for-Schleifen-Notation | 128 | ||
5.1.10 Zusammenfassung | 130 | ||
5.1.11 Übungsaufgaben | 130 | ||
5.2 Klassen | 133 | ||
5.2.1 Was sind Klassen? | 134 | ||
5.2.2 Deklaration und Instantiierung von Klassen | 135 | ||
5.2.3 Komponentenzugriff bei Objekten | 136 | ||
5.2.4 Ein erstes Adressbuch | 137 | ||
5.2.5 Klassen als Referenzdatentyp | 139 | ||
5.2.6 Felder von Klassen | 1 | ||
5.2.7 Vorsicht, Falle: Kopieren von geschachtelten Referenzdatentypen | 145 | ||
5.2.8 Auslagern von Klassen | 146 | ||
5.2.9 Zusammenfassung | 148 | ||
5.2.10 Übungsaufgaben | 148 | ||
6 Methoden, Unterprogramme | 1 | ||
6.1 Methoden | 1 | ||
6.1.1 Was sind Methoden? | 1 | ||
6.1.2 Deklaration von Methoden | 152 | ||
6.1.3 Parameterübergabe und Ergebnisrückgabe | 1 | ||
6.1.4 Aufruf von Methoden | 155 | ||
6.1.5 Überladen von Methoden | 156 | ||
6.1.6 Variable Argument-Anzahl bei Methoden | 158 | ||
6.1.7 Vorsicht, Falle: Referenzen als Parameter | 159 | ||
6.1.8 Sichtbarkeit und Verdecken von Variablen | 161 | ||
6.1.9 Zusammenfassung | 163 | ||
6.1.10 Übungsaufgaben | 163 | ||
6.2 Rekursiv definierte Methoden | 164 | ||
6.2.1 Motivation | 164 | ||
6.2.2 Gute und schlechte Beispiele für rekursive Methoden | 166 | ||
6.2.3 Zusammenfassung | 169 | ||
6.3 Die Methode main | 169 | ||
6.3.1 Kommandozeilenparameter | 170 | ||
6.3.2 Anwendung der vereinfachten for-Schleifen-Notation | 171 | ||
6.3.3 Zusammenfassung | 172 | ||
6.3.4 Übungsaufgaben | 172 | ||
6.4 Methoden aus anderen Klassen aufrufen | 174 | ||
6.4.1 Klassenmethoden | 174 | ||
6.4.2 Die Methoden der Klasse java.lang.Math | 175 | ||
6.4.3 Statischer Import | 176 | ||
6.5 Methoden von Objekten aufrufen | 177 | ||
6.5.1 Instanzmethoden | 177 | ||
6.5.2 Die Methoden der Klasse java.lang.String | 178 | ||
6.6 Übungsaufgaben | 181 | ||
Teil II: Objektorientiertes.Programmieren in Java | 186 | ||
7 Die objektorientiertePhilosophie | 188 | ||
7.1 Die Welt, in der wir leben | 188 | ||
7.2 Programmierparadigmen – Objektorientierung im Vergleich | 189 | ||
7.3 Die vier Grundpfeiler objektorientierter Programmierung | 191 | ||
7.3.1 Generalisierung | 191 | ||
7.3.2 Vererbung | 193 | ||
7.3.3 Kapselung | 196 | ||
7.3.4 Polymorphismus | 197 | ||
7.3.5 Weitere wichtige Grundbegriffe | 198 | ||
7.4 Modellbildung – von der realen Welt in den Computer | 199 | ||
7.4.1 Grafisches Modellieren mit UML | 199 | ||
7.4.2 Entwurfsmuster | 200 | ||
7.5 Zusammenfassung | 201 | ||
7.6 Übungsaufgaben | 202 | ||
8 Der grundlegende Umgang mit Klassen | 204 | ||
8.1 Vom Referenzdatentyp zur Objektorientierung | 204 | ||
8.2 Instanzmethoden | 206 | ||
8.2.1 Zugriffsrechte | 206 | ||
8.2.2 Was sind Instanzmethoden? | 207 | ||
8.2.3 Instanzmethoden zur Validierung von Eingaben | 210 | ||
8.2.4 Instanzmethoden als erweiterte Funktionalit¨at | 211 | ||
8.3 Statische Komponenten einer Klasse | 212 | ||
8.3.1 Klassenvariablen und -methoden | 213 | ||
8.3.2 Klassenkonstanten | 215 | ||
8.4 Instantiierung und Initialisierung | 216 | ||
8.4.1 Konstruktoren | 216 | ||
8.4.2 Überladen von Konstruktoren | 218 | ||
8.4.3 Der statische Initialisierer | 220 | ||
8.4.4 Der Mechanismus der Objekterzeugung | 223 | ||
8.5 Zusammenfassung | 227 | ||
8.6 Übungsaufgaben | 228 | ||
9 Vererbung und Polymorphismus – der fortgeschrittene Umgang mit Klassen in Java | 248 | ||
9.1 Wozu braucht man Vererbung? | 248 | ||
9.1.1 Aufgabenstellung | 248 | ||
9.1.2 Analyse des Problems | 249 | ||
9.1.3 Ein erster Ansatz | 249 | ||
9.1.4 Eine Klasse für sich | 250 | ||
9.1.5 Stärken der Vererbung | 251 | ||
9.1.6 Vererbung verhindern durch final | 254 | ||
9.1.7 Übungsaufgaben | 255 | ||
9.2 Die super-Referenz | 256 | ||
9.3 Überschreiben von Methoden und Variablen | 258 | ||
9.3.1 Dynamisches Binden | 258 | ||
9.3.2 Überschreiben von Methoden verhindern durch final | 1 | ||
9.4 Die Klasse java.lang.Object | 261 | ||
9.5 Übungsaufgaben | 264 | ||
9.6 Abstrakte Klassen und Interfaces | 264 | ||
9.7 Übungsaufgaben | 268 | ||
9.8 Weiteres zum Thema Objektorientierung | 273 | ||
9.8.1 Erstellen von Paketen | 273 | ||
9.8.2 Zugriffsrechte | 274 | ||
9.8.3 Innere Klassen | 275 | ||
9.8.4 Anonyme Klassen | 281 | ||
9.9 Zusammenfassung | 283 | ||
9.10 Übungsaufgaben | 283 | ||
10 Exceptions und Errors | 294 | ||
10.1 Eine Einführung in Exceptions | 295 | ||
10.1.1 Was ist eine Exception? | 295 | ||
10.1.2 Übungsaufgaben | 297 | ||
10.1.3 Abfangen von Exceptions | 297 | ||
10.1.4 Ein Anwendungsbeispiel | 298 | ||
10.1.5 Die RuntimeException | 301 | ||
10.1.6 Übungsaufgaben | 302 | ||
10.2 Exceptions für Fortgeschrittene | 304 | ||
10.2.1 Definieren eigener Exceptions | 304 | ||
10.2.2 Übungsaufgaben | 306 | ||
10.2.3 Vererbung und Exceptions | 306 | ||
10.2.4 Vorsicht, Falle! | 310 | ||
10.2.5 Der finally-Block | 312 | ||
10.2.6 Die Klassen Throwable und Error | 316 | ||
10.2.7 Zusammenfassung | 318 | ||
10.2.8 Übungsaufgaben | 318 | ||
10.3 Assertions | 319 | ||
10.3.1 Zusicherungen im Programmcode | 319 | ||
10.3.2 Compilieren des Programmcodes | 320 | ||
10.3.3 Ausführen des Programmcodes | 321 | ||
10.3.4 Zusammenfassung | 321 | ||
11 Fortgeschrittene objektorientierte Programmierung | 322 | ||
11.1 Aufzählungstypen | 323 | ||
11.1.1 Deklaration eines Aufzählungstyps | 323 | ||
11.1.2 Instanzmethoden der enum-Objekte | 324 | ||
11.1.3 Selbstdefinierte Instanzmethoden für enum-Objekte | 324 | ||
11.1.4 Übungsaufgaben | 326 | ||
11.2 Generische Datentypen | 328 | ||
11.2.1 Generizität in alten Java-Versionen | 328 | ||
11.2.2 Generizität ab Java 5.0 | 331 | ||
11.2.3 Einschränkungen der Typ-Parameter | 333 | ||
11.2.4 Wildcards | 335 | ||
11.2.5 Bounded Wildcards | 336 | ||
11.2.6 Generische Methoden | 338 | ||
11.2.7 Ausblick | 340 | ||
11.2.8 Übungsaufgaben | 340 | ||
11.3 Sortieren von Feldern und das Interface Comparable | 345 | ||
12 Einige wichtige Hilfsklassen | 348 | ||
12.1 Die Klasse StringBuffer | 348 | ||
12.1.1 Arbeiten mit String-Objekten | 348 | ||
12.1.2 Arbeiten mit StringBuffer-Objekten | 351 | ||
12.1.3 Übungsaufgaben | 353 | ||
12.2 Die Wrapper-Klassen (Hüll-Klassen) | 354 | ||
12.2.1 Arbeiten mit ”eingepackten“ Daten | 354 | ||
12.2.2 Aufbau der Wrapper-Klassen | 355 | ||
12.2.3 Ein Anwendungsbeispiel | 358 | ||
12.2.4 Automatische Typwandlung für die Wrapper-Klassen | 359 | ||
12.2.5 Übungsaufgaben | 361 | ||
12.3 Die Klassen BigInteger und BigDecimal | 362 | ||
12.3.1 Arbeiten mit langen Ganzzahlen | 362 | ||
12.3.2 Aufbau der Klasse BigInteger | 364 | ||
12.3.3 Übungsaufgaben | 366 | ||
12.3.4 Arbeiten mit langen Gleitkommazahlen | 366 | ||
12.3.5 Aufbau der Klasse BigDecimal | 369 | ||
12.3.6 Viele Stellen von Nullstellen gefällig? | 372 | ||
12.3.7 Übungsaufgaben | 373 | ||
12.4 Die Klasse DecimalFormat | 374 | ||
12.4.1 Standard-Ausgaben in Java | 374 | ||
12.4.2 Arbeiten mit Format-Objekten | 375 | ||
12.4.3 Vereinfachte formatierte Ausgabe | 377 | ||
12.4.4 Übungsaufgaben | 378 | ||
12.5 Die Klassen Date und Calendar | 378 | ||
12.5.1 Arbeiten mit ”Zeitpunkten“ | 379 | ||
12.5.2 Auf die Plätze, fertig, los! | 380 | ||
12.5.3 Spezielle Calendar-Klassen | 381 | ||
12.5.4 Noch einmal: Zeitmessung | 383 | ||
12.5.5 Übungsaufgaben | 385 | ||
12.6 Die Klassen SimpleDateFormat und DateFormat | 385 | ||
12.6.1 Arbeiten mit Format-Objekten für Datum/Zeit-Angaben | 385 | ||
12.6.2 Übungsaufgaben | 390 | ||
12.7 Die Collection-Klassen | 390 | ||
12.7.1 ”Sammlungen“ von Objekten – Der Aufbau des Interface Collection | 390 | ||
12.7.2 ”Sammlungen“ durchgehen – Der Aufbau des Interface Iterator | 393 | ||
12.7.3 Mengen | 394 | ||
12.7.4 Listen | 398 | ||
12.7.5 Übungsaufgaben | 404 | ||
12.8 Die Klasse StringTokenizer | 405 | ||
12.8.1 Übungsaufgaben | 407 | ||
Teil III: Grafische Oberflächen in Java | 408 | ||
13 Aufbau grafischer Oberflächen in Frames – von AWT nachSwing | 410 | ||
13.1 Grundsätzliches zum Aufbau grafischer Oberflächen | 410 | ||
13.2 Ein einfaches Beispiel mit dem AWT | 412 | ||
13.3 Let’s swing now! | 414 | ||
13.4 Etwas ”Fill-in“ gefällig? | 416 | ||
13.5 Die AWT- und Swing-Klassenbibliothek im Überblick | 418 | ||
13.6 Übungsaufgaben | 420 | ||
14 Swing-Komponenten | 422 | ||
14.1 Die abstrakte Klasse Component | 422 | ||
14.2 Die Klasse Container | 423 | ||
14.3 Die abstrakte Klasse JComponent | 424 | ||
14.4 Layout-Manager, Farben und Schriften | 425 | ||
14.4.1 Die Klasse Color | 426 | ||
14.4.2 Die Klasse Font | 428 | ||
14.4.3 Layout-Manager | 429 | ||
14.5 Einige Grundkomponenten | 435 | ||
14.5.1 Die Klasse JLabel | 437 | ||
14.5.2 Die abstrakte Klasse AbstractButton | 437 | ||
14.5.3 Die Klasse JButton | 439 | ||
14.5.4 Die Klasse JToggleButton | 440 | ||
14.5.5 Die Klasse JCheckBox | 441 | ||
14.5.6 Die Klassen JRadioButton und ButtonGroup | 442 | ||
14.5.7 Die Klasse JComboBox | 444 | ||
14.5.8 Die Klasse JList | 447 | ||
14.5.9 Die abstrakte Klasse JTextComponent | 450 | ||
14.5.10 Die Klassen JTextField und JPasswordField | 451 | ||
14.5.11 Die Klasse JTextArea | 453 | ||
14.5.12 Die Klasse JScrollPane | 455 | ||
14.5.13 Die Klasse JPanel | 457 | ||
14.6 Spezielle Container, Menüs und Toolbars | 459 | ||
14.6.1 Die Klasse JFrame | 459 | ||
14.6.2 Die Klasse JWindow | 460 | ||
14.6.3 Die Klasse JDialog | 460 | ||
14.6.4 Die Klasse JMenuBar | 464 | ||
14.6.5 Die Klasse JToolBar | 466 | ||
14.7 Übungsaufgaben | 469 | ||
15 Ereignisverarbeitung | 472 | ||
15.1 Zwei einfache Beispiele | 473 | ||
15.1.1 Zufällige Grautöne als Hintergrund | 473 | ||
15.1.2 Ein interaktiver Bilderrahmen | 476 | ||
15.2 Programmiervarianten für die Ereignisverarbeitung | 480 | ||
15.2.1 Innere Klasse als Listener-Klasse | 480 | ||
15.2.2 Anonyme Klasse als Listener-Klasse | 480 | ||
15.2.3 Container-Klasse als Listener-Klasse | 481 | ||
15.2.4 Separate Klasse als Listener-Klasse | 482 | ||
15.3 Event-Klassen und -Quellen | 484 | ||
15.4 Listener-Interfaces und Adapter-Klassen | 488 | ||
15.5 Listener-Registrierung bei den Event-Quellen | 493 | ||
15.6 Auf die Plätze, fertig, los! | 497 | ||
15.7 Übungsaufgaben | 501 | ||
16 Einige Ergänzungen zu Swing-Komponenten | 506 | ||
16.1 Zeichnen in Swing-Komponenten | 506 | ||
16.1.1 Grafische Darstellung von Komponenten | 506 | ||
16.1.2 Das Grafik-Koordinatensystem | 507 | ||
16.1.3 Die abstrakte Klasse Graphics | 508 | ||
16.1.4 Ein einfaches Zeichenprogramm | 511 | ||
16.1.5 Layoutveränderungen und der Einsatz von revalidate | 513 | ||
16.2 Noch mehr Swing gefällig? | 516 | ||
16.3 Übungsaufgaben | 517 | ||
17 Applets | 520 | ||
17.1 Erstellen und Ausführen von Applets | 520 | ||
17.1.1 Vom Frame zum Applet am Beispiel | 520 | ||
17.1.2 Applet in HTML-Datei einbetten | 522 | ||
17.1.3 Applet über HTML-Datei ausführen | 524 | ||
17.2 Die Methoden der Klasse JApplet | 525 | ||
17.3 Zwei Beispiele | 527 | ||
17.3.1 Auf die Plätze, fertig, los! | 528 | ||
17.3.2 Punkte verbinden im Applet | 531 | ||
17.4 Details zur HTML-Einbettung | 532 | ||
17.4.1 Der Applet-Tag | 532 | ||
17.4.2 Die Methode showDocument | 535 | ||
17.5 Sicherheitseinschränkungen bei Applets | 537 | ||
17.6 Übungsaufgaben | 541 | ||
Teil IV: Threads, Datenströme und Netzwerk-Anwendungen | 544 | ||
18 Parallele Programmierung mit Threads | 546 | ||
18.1 Ein einfaches Beispiel | 546 | ||
18.2 Threads in Java | 548 | ||
18.2.1 Die Klasse Thread | 549 | ||
18.2.2 Das Interface Runnable | 553 | ||
18.2.3 Threads vorzeitig beenden | 555 | ||
18.3 Wissenswertes über Threads | 557 | ||
18.3.1 Lebenszyklus eines Threads | 557 | ||
18.3.2 Thread-Scheduling | 559 | ||
18.3.3 Dämon-Threads und Thread-Gruppen | 559 | ||
18.4 Thread-Synchronisation und -Kommunikation | 560 | ||
18.4.1 Das Leser/Schreiber-Problem | 561 | ||
18.4.2 Das Erzeuger/Verbraucher-Problem | 565 | ||
18.5 Threads in Frames und Applets | 572 | ||
18.5.1 Auf die Plätze, fertig, los! | 572 | ||
18.5.2 Spielereien | 576 | ||
18.5.3 Swing-Komponenten sind nicht Thread-sicher | 578 | ||
18.6 Übungsaufgaben | 579 | ||
19 Ein- und Ausgabe über Streams | 582 | ||
19.1 Grundsätzliches zu Streams in Java | 583 | ||
19.2 Dateien und Verzeichnisse – Die Klasse File | 583 | ||
19.3 Ein- und Ausgabe über Character-Streams | 586 | ||
19.3.1 Einfache Reader- und Writer-Klassen | 587 | ||
19.3.2 Gepufferte Reader- und Writer-Klassen | 590 | ||
19.3.3 Die Klasse StreamTokenizer | 592 | ||
19.3.4 Die Klasse PrintWriter | 593 | ||
19.3.5 Die Klassen IOTools und Scanner | 595 | ||
19.4 Ein- und Ausgabe über Byte-Streams | 597 | ||
19.4.1 Einige InputStream- und OutputStream-Klassen | 598 | ||
19.4.2 Die Serialisierung und Deserialisierung von Objekten | 600 | ||
19.4.3 Die Klasse PrintStream | 602 | ||
19.5 Einige abschließende Bemerkungen | 603 | ||
19.6 Übungsaufgaben | 604 | ||
20 Client/Server-Programmierung in Netzwerken | 606 | ||
20.1 Wissenswertes über Netzwerk-Kommunikation | 607 | ||
20.1.1 Protokolle | 607 | ||
20.1.2 IP-Adressen | 609 | ||
20.1.3 Ports und Sockets | 610 | ||
20.2 Client/Server-Programmierung | 611 | ||
20.2.1 Die Klassen ServerSocket und Socket | 612 | ||
20.2.2 Ein einfacher Server | 614 | ||
20.2.3 Ein einfacher Client | 617 | ||
20.2.4 Ein Server für mehrere Clients | 618 | ||
20.2.5 Ein Mehrzweck-Client | 621 | ||
20.3 Wissenswertes über URLs | 624 | ||
20.3.1 Client/Server-Kommunikation über URLs | 624 | ||
20.3.2 Netzwerkverbindungen in Applets | 625 | ||
20.4 Übungsaufgaben | 626 | ||
Teil V: Aktuelles, Ausblick und Anhang | 630 | ||
21 Neuerungen in Java 7 | 632 | ||
21.1 Spracherweiterungen | 632 | ||
21.1.1 Elementare Datentypen und Anweisungen | 632 | ||
21.1.2 Verkürzte Notation bei generischen Datentypen | 637 | ||
21.1.3 Ausnahmebehandlung | 641 | ||
21.2 Erweiterungen der Klassenbibliothek | 647 | ||
21.2.1 Dateien und Verzeichnisse | 647 | ||
21.2.2 Grafische Oberflächen | 651 | ||
22 Blick über den Tellerrand | 654 | ||
22.1 Der Vorhang fällt | 654 | ||
22.2 A fool with a tool . . . | 655 | ||
22.3 Alles umsonst? | 656 | ||
22.4 Und fachlich? | 657 | ||
22.5 Zu guter Letzt . . . | 659 | ||
Anhang A: Der Weg zum guten Programmierer . . . | 660 | ||
A.1 Die goldenen Regeln der Code-Formatierung | 661 | ||
A.2 Die goldenen Regeln der Namensgebung | 664 | ||
A.3 Zusammenfassung | 666 | ||
Anhang B: Die Klasse IOTools – Tastatureingaben in Java | 668 | ||
B.1 Kurzbeschreibung | 668 | ||
B.2 Anwendung der IOTools-Methoden | 669 | ||
Anhang C: Der Umgang mit der API-Spezifikation | 672 | ||
C.1 Der Aufbau der API-Spezifikation | 672 | ||
C.2 Der praktische Einsatz der API-Spezifikation | 673 | ||
Anhang D: Glossar | 678 | ||
Literaturverzeichnis | 692 | ||
Stichwortverzeichnis | 696 |