Hier finden Sie Lösungsvorschläge zu den Übungsaufgaben. Suchen Sie einfach anhand des Inhaltsverzeichnisses die Stelle, an der sich die Aufgabe im Buch befindet, und navigieren Sie über den Link in den entsprechenden Teil des Dokuments.
-
1. Einige Grundbegriffe aus der Welt des Programmierens
-
1.1. Computer, Software, Informatik und das Internet
-
1.2. Was heißt Programmieren?
-
1.3. Welche Werkzeuge brauchen wir?
-
2. Aller Anfang ist schwer
-
2.1. Mein erstes Programm
-
2.2. Formeln, Ausdrücke und Anweisungen
-
2.3. Zahlenbeispiele
-
2.4. Verwendung von Variablen
-
2.5. "Auf den Schirm!"
-
2.6. Das Programmgerüst
-
2.7. Eingeben, übersetzen und ausführen
-
-
3. Grundlagen der Programmierung in Java
-
3.1. Grundelemente eines Java-Programms
-
3.1.1. Kommentare
-
3.1.2. Bezeichner und Namen
-
3.1.3. Literale
-
3.1.4. Reservierte Wörter, Schlüsselwörter
-
3.1.5. Trennzeichen
-
3.1.6. Interpunktionszeichen
-
3.1.7. Operatorsymbole
-
3.1.8. import-Anweisungen
-
3.1.9. Zusammenfassung
-
-
3.2. Erste Schritte in Java
-
3.2.1. Grundstruktur eines Java-Programms
-
3.2.2. Ausgaben auf der Konsole
-
3.2.3. Eingaben von der Konsole
-
3.2.4. Schöner programmieren in Java
-
3.2.5. Zusammenfassung
-
-
3.3. Einfache Datentypen
-
3.3.1. Ganzzahlige Datentypen
-
3.3.2. Gleitkommatypen
-
3.3.3. Der Datentyp char für Zeichen
-
3.3.4. Zeichenketten
-
3.3.5. Der Datentyp boolean für Wahrheitswerte
-
3.3.6. Implizite und explizite Typumwandlungen
-
3.3.7. Zusammenfassung
-
-
3.4. Der Umgang mit einfachen Datentypen
-
3.5. Anweisungen und Ablaufsteuerung
-
3.5.1. Anweisungen
-
3.5.2. Blöcke und ihre Struktur
-
3.5.3. Entscheidungsanweisung
-
3.5.4. Wiederholungsanweisungen, Schleifen
-
3.5.5. Sprungbefehle und markierte Anweisungen
-
3.5.6. Zusammenfassung
-
-
4. Referenzdatentypen
-
4.1. Felder
-
4.1.1. Was sindFelder?
-
4.1.2. Deklaration, Erzeugung und Initialisierung von Feldern
-
4.1.3. FelderunbekannterLänge
-
4.1.4. Referenzen
-
4.1.5. Ein besserer Terminkalender
-
4.1.6. Mehrdimensionale Felder
-
4.1.7. Mehrdimensionale Felder unterschiedlicher Länge
-
4.1.8. Vorsicht, Falle: Kopieren von mehrdimensionalen Feldern
-
4.1.9. Vereinfachte for-Schleifen-Notation
-
4.1.10. Zusammenfassung
-
-
4.2. Klassen
-
4.2.1. Willkommen in der ersten Klasse!
-
4.2.2. Komponentenzugriff bei Objekten
-
4.2.3. Ein erstes Adressbuch
-
4.2.4. Klassen als Referenzdatentyp
-
4.2.5. Felder von Klassen
-
4.2.6. Vorsicht, Falle: Kopieren von geschachtelten Referenzdatentypen
-
4.2.7. Zusammenfassung
-
4.2.8. Übungsaufgaben
-
5. Methoden, Unterprogramme
-
5.1. Methoden
-
5.1.1. Was sind Methoden?
-
5.1.2. Deklaration von Methoden
-
5.1.3. Parameterübergabe und Ergebnisrückgabe
-
5.1.4. Aufruf von Methoden
-
5.1.5. Überladen von Methoden
-
5.1.6. Variable Argumentanzahl bei Methoden
-
5.1.7. Vorsicht, Falle: Referenzen als Parameter
-
5.1.8. Sichtbarkeit und Verdecken von Variablen
-
5.1.9. Zusammenfassung
-
-
5.2. Rekursiv definierte Methoden
-
5.3. Die Methode main
-
5.4. Methoden aus anderen Klassen aufrufen
-
5.5. Methoden von Objekten aufrufen
-
-
6. Die objektorientierte Philosophie
-
6.1. Die Welt, in der wir leben
-
6.2. Programmierparadigmen - Objektorientierung im Vergleich
-
6.3. Die vier Grundpfeiler objektorientierter Programmierung
-
6.4. Modellbildung - von der realen Welt in den Computer
-
6.5. Zusammenfassung
-
-
7. Der grundlegende Umgang mit Klassen
-
7.1. Vom Referenzdatentyp zur Objektorientierung
-
7.2. Instanzmethoden
-
7.3. Statische Komponenten einer Klasse
-
7.4. Instanziierung und Initialisierung
-
7.5. Zusammenfassung
-
-
8. Vererbung und Polymorphie
-
8.1. Wozu braucht man Vererbung?
-
8.1.1. Aufgabenstellung
-
8.1.2. Analyse des Problems
-
8.1.3. Ein erster Ansatz
-
8.1.4. Eine Klasse für sich
-
8.1.5. Stärken der Vererbung
-
8.1.6. Vererbung verhindern durch final
-
-
8.2. Die super-Referenz
-
8.3. Überschreiben von Methoden und Variablen
-
8.4. Die Klasse java.lang.Object
-
-
8.6. Abstrakte Klassen und Interfaces
-
-
8.7.1. Deklaration von Default-Methoden
-
8.7.2. Deklaration von statischen Methoden
-
8.7.3. Auflösung von Namensgleichheiten bei Default-Methoden
-
8.7.4. Interfaces und abstrakte Klassen im Vergleich
-
8.8. Weiteres zum Thema Objektorientierung
-
8.9. Zusammenfassung
-
-
9. Exceptions und Errors
-
9.1. Eine Einführung in Exceptions
-
9.1.1. Was ist eine Exception?
-
-
9.1.3. Abfangen von Exceptions
-
9.1.4. Ein Anwendungsbeispiel
-
9.1.5. Die RuntimeException
-
-
9.2. Exceptions für Fortgeschrittene
-
9.2.1. Definieren eigener Exceptions
-
-
9.2.3. Vererbung und Exceptions
-
9.2.4. Vorsicht, Falle!
-
9.2.5. Der finally-Block
-
9.2.6. Die Klassen Throwable und Error
-
9.2.7. Zusammenfassung
-
-
9.3. Assertions
-
9.4. Mehrere Ausnahmetypen in einem catch-Block
-
9.5. Ausblick: try-Block mit Ressourcen
-
10. Fortgeschrittene objektorientierte Programmierung
-
11. Einige wichtige Hilfsklassen
-
11.1. Die Klasse StringBuffer
-
11.2. Die Wrapper-Klassen (Hüll-Klassen)
-
11.2.1. Arbeiten mit "eingepackten" Daten
-
11.2.2. Aufbau der Wrapper-Klassen
-
11.2.3. Ein Anwendungsbeispiel
-
11.2.4. Automatische Typwandlung für die Wrapper-Klassen
-
-
11.3. Die Klassen BigInteger und BigDecimal
-
11.3.1. Arbeiten mit langen Ganzzahlen
-
11.3.2. Aufbau der Klasse BigInteger
-
-
11.3.4. Arbeiten mit langen Gleitkommazahlen
-
11.3.5. Aufbau der Klasse BigDecimal
-
11.3.6. Viele Stellen von Nullstellen gefällig?
-
-
11.4. Die Klasse DecimalFormat
-
11.4.1. Standardausgaben in Java
-
11.4.2. Arbeiten mit Format-Objekten
-
11.4.3. Vereinfachte formatierte Ausgabe
-
-
11.5. Die Klassen Date
-
11.5.1. Arbeiten mit "Zeitpunkten"
-
11.5.2. Auf die Plätze, fertig, los!
-
11.5.3. Spezielle Calendar-Klassen
-
11.5.4. Noch einmal: Zeitmessung
-
-
11.6. Die Klassen SimpleDateFormat und DateFormat
-
11.7. Die Collection-Klassen
-
11.8. Die Klasse StringTokenizer
-
12. Aufbau grafischer Oberflächen in Frames - von AWT nach Swing
-
12.1. Grundsätzliches zum Aufbau grafischer Oberflächen
-
12.2. Ein einfaches Beispiel mit dem AWT
-
12.3. Let?s swing now!
-
12.4. Etwas "Fill-in" gefällig?
-
12.5. Die AWT- und Swing-Klassenbibliothek im Überblick
-
-
13. Swing-Komponenten
-
13.1. Die abstrakte Klasse Component
-
13.2. Die Klasse Container
-
13.3. Die abstrakte Klasse JComponent
-
13.4. Layout-Manager, Farben und Schriften
-
13.5. Einige Grundkomponenten
-
13.6. Spezielle Container, Menüs und Toolbars
-
-
14. Ereignisverarbeitung
-
14.1. ZweieinfacheBeispiele
-
14.2. Programmiervarianten für die Ereignisverarbeitung
-
14.3. Event-Klassenund-Quellen
-
14.4. Listener-Interfaces und Adapter-Klassen
-
14.5. Listener-Registrierung bei den Event-Quellen
-
14.6. Auf die Plätze, fertig, los!
-
-
15. Einige Ergänzungen zu Swing-Komponenten
-
16. Parallele Programmierung mit Threads
-
16.1. Ein einfaches Beispiel
-
16.2. Threads in Java
-
16.3. Wissenswertes über Threads
-
16.4. Thread-Synchronisation und -Kommunikation
-
16.5. Threads in Swing-Anwendungen
-
-
17. Ein- und Ausgabe über I/O-Streams
-
17.1. Grundsätzliches zu I/O-Streams in Java
-
17.2. Dateien und Verzeichnisse - die Klasse File
-
17.3. Ein- und Ausgabe über Character-Streams
-
17.4. Ein- und Ausgabe über Byte-Streams
-
17.5. Streams im try-Block mit Ressourcen
-
-
17.7. Übungsaufgaben
-
18. Client/Server-Programmierung in Netzwerken
-
19. Lambda-Ausdrücke, Streams und Pipeline-Operationen
-
20. Blick über den Tellerrand
-
20.1. JShell für kleine Skripte
-
20.2. Das Java-Modulsystem
-
20.3. Bühne frei für JavaFX
-
20.4. Beginn einer neuen Zeitrechnung
-
20.5. Webprogrammierung und verteilte Systeme
-
20.6. Zu guter Letzt