Dietmar Ratz, Jens Scheffler, Detlef Seese, Jan Wiesenberger
Grundkurs Programmieren in Java
Band 1: Der Einstieg in Programmierung und Objektorientierung (4. Auflage, Carl Hanser Verlag, 2007)
Band 2: Einführung in die Programmierung kommerzieller Systeme (2. Auflage, Carl Hanser Verlag, 2006)

Inhaltsverzeichnis von Band 1

    1. Einleitung
      1. Java - mehr als nur kalter Kaffee?
      2. Java für Anfänger - das Konzept dieses Buches
      3. Weitere Infos und Kontakt zu den Autoren
      4. Verwendete Schreibweisen
    2. Einige Grundbegriffe aus der Welt des Programmierens
      1. Computer, Software, Informatik und das Internet
      2. Was heißt Programmieren?
    3. Aller Anfang ist schwer
      1. Mein erstes Programm
      2. Formeln, Ausdrücke und Anweisungen
      3. Zahlenbeispiele
      4. Verwendung von Variablen
      5. Auf den Schirm!
      6. Das Programmgerüst
      7. Eingeben, übersetzen und ausführen
      8. Übungsaufgaben
    4. Grundlagen der Programmierung in Java
      1. Grundelemente eines Java-Programms
        1. Kommentare
        2. Bezeichner und Namen
        3. Literale
        4. Reservierte Wörter, Schlüsselwörter
        5. Trennzeichen
        6. Interpunktionszeichen
        7. Operatorsymbole
        8. import-Anweisungen
        9. Zusammenfassung
        10. Übungsaufgaben
      2. Erste Schritte in Java
        1. Grundstruktur eines Java-Programms
        2. Ausgaben auf der Konsole
        3. Eingaben von der Konsole
        4. Schöner Programmieren in Java
        5. Zusammenfassung
        6. Übungsaufgaben
      3. Einfache Datentypen
        1. Ganzzahlige Datentypen
        2. Gleitkommatypen
        3. Der Datentyp char für Zeichen
        4. Zeichenketten
        5. Der Datentyp boolean für Wahrheitswerte
        6. Implizite und explizite Typumwandlungen
        7. Zusammenfassung
        8. Übungsaufgaben
      4. Der Umgang mit einfachen Datentypen
        1. Variablen
        2. Operatoren und Ausdrücke
        3. Allgemeine Ausdrücke
        4. Ein- und Ausgabe
        5. Zusammenfassung
        6. Übungsaufgaben
      5. Anweisungen und Ablaufsteuerung
        1. Anweisungen
        2. Blöcke und ihre Struktur
        3. Entscheidungsanweisung
        4. Wiederholungsanweisungen, Schleifen
        5. Sprungbefehle und markierte Anweisungen
        6. Zusammenfassung
        7. Übungsaufgaben
    5. Praxisbeispiele
      1. Worum geht es in diesem Kapitel?
      2. Teilbarkeit zum ersten
        1. Aufgabenstellung
        2. Analyse des Problems
        3. Algorithmische Beschreibung
        4. Programmierung in Java
        5. Vorsicht Falle
        6. Übungsaufgaben
      3. Teilbarkeit zum zweiten
        1. Aufgabenstellung
        2. Analyse des Problems
        3. Algorithmische Beschreibung
        4. Programmierung in Java
        5. Vorsicht Falle
        6. Übungsaufgaben
      4. Dreierlei
        1. Aufgabenstellung
        2. Analyse des Problems
        3. Algorithmische Beschreibung
        4. Programmierung in Java
        5. Vorsicht Falle
        6. Übungsaufgaben
    6. Referenzdatentypen
      1. Felder
        1. Was sind Felder ?
        2. Deklaration, Erzeugung und Initialisierung von Feldern
        3. Felder unbekannter Länge
        4. Referenzen
        5. Ein besserer Terminkalender
        6. Mehrdimensionale Felder
        7. Mehrdimensionale Felder unterschiedlicher Länge
        8. Vorsicht Falle: Kopieren von mehrdimensionalen Feldern
        9. Vereinfachte for-Schleifen-Notation
        10. Zusammenfassung
        11. Übungsaufgaben
      2. Klassen
        1. Was sind Klassen?
        2. Deklaration und Instantiierung von Klassen
        3. Komponentenzugriff bei Objekten
        4. Ein erstes Adressbuch
        5. Klassen als Referenzdatentyp
        6. Felder von Klassen
        7. Vorsicht Falle: Kopieren von geschachtelten Referenzdatentypen
        8. Auslagern von Klassen
        9. Zusammenfassung
        10. Übungsaufgaben
    7. Unterprogramme, Methoden
      1. Methoden
        1. Was sind Methoden?
        2. Deklaration von Methoden
        3. Parameterübergabe und -rückgabe
        4. Aufruf von Methoden
        5. Überladen von Methoden
        6. Vorsicht Falle!
        7. Sichtbarkeit und Verdecken von Variablen
        8. Zusammenfassung
        9. Übungsaufgaben
      2. Rekursiv definierte Methoden
        1. Motivation
        2. Das Achtdamenproblem
        1. Aufgabenstellung
        2. Lösungsidee
        3. Erste Vorarbeiten: Die Methoden ausgabe und bedroht
        4. Die Rekursion
        5. Die Lösung
        3. Zusammenfassung
        4. Ubungsaufgaben
      3. Die Methode main
        1. Kommandozeilenparameter
        2. Anwendung der vereinfachten for-Schleifen-Notation
        3. Zusammenfassung
        4. Übungsaufgaben
      4. Methoden aus anderen Klassen aufrufen
        1. Klassenmethoden
        2. Die Methoden der Klasse java.lang.Math
        3. Statischer Import
      5. Methoden von Objekten aufrufen
        1. Instanzmethoden
        2. Die Methoden der Klasse java.lang.String
      6. Übungsaufgaben
    8. Praxisbeispiele
      1. Mastermind zum ersten
        1. Aufgabenstellung
        2. Analyse des Problems
        3. Unterteilen einer Zahl
        4. Gültigkeit einer Zahl
        5. Finden einer gültigen Zahl
        6. Anzahl der Treffer
        7. Ein- und Ausgabe
        8. Zum Hauptprogramm
        9. Das komplette Programm im Überblick
      2. Mastermind zum zweiten
        1. Aufgabenstellung
        2. Analyse des Problems
        3. Verwendete Datenstrukturen
        4. Vergleich der Versuche
        5. Zum Hauptprogramm
        6. Das komplette Programm im Überblick
      3. Black Jack
        1. Aufgabenstellung
        2. Analyse des Problems
        3. Mischen eines Kartenspiels
        4. Die Pflichten des Gebers
        5. Zum Hauptprogramm
        6. Das komplette Programm im Überblick
        7. Übungsaufgaben
    9. Die objektorientierte Philosophie
      1. Die Welt, in der wir leben
      2. Programmierparadigmen - Objektorientierung im Vergleich
      3. Die vier Grundpfeiler objektorientierter Programmierung
        1. Generalisierung
        2. Vererbung
        3. Kapselung
        4. Polymorphismus
        5. Weitere wichtige Grundbegriffe
      4. Modellbildung - von der realen Welt in den Computer
      5. Zusammenfassung
      6. Übungsaufgaben
    10. Der grundlegende Umgang mit Klassen
      1. Vom Referenzdatentyp zur Objektorientierung
      2. Instanzmethoden
        1. Zugriffsrechte
        2. Was sind Instanzmethoden?
        3. Instanzmethoden zur Validierung von Eingaben
        4. Instanzmethoden als erweiterte Funktionalität
      3. Statische Komponenten einer Klasse
        1. Klassenvariablen und -methoden
        2. Konstanten
      4. Instantiierung und Initialisierung
        1. Konstruktoren
        2. Überladen von Konstruktoren
        3. Der statische Initialisierer
        >4. Der Mechanismus der Objekterzeugung
      5. Zusammenfassung
      6. Übungsaufgaben
    11. Vererbung und Polymorphismus
      1. Wozu braucht man Vererbung?
        1. Aufgabenstellung
        2. Analyse des Problems
        3. Ein erster Ansatz
        4. Eine Klasse für sich
        5. Stärken der Vererbung
        6. Übungsaufgaben
      2. Die super-Referenz
      3. Überschreiben von Methoden und Variablen
      4. Die Klasse java.lang.Object
      5. Übungsaufgaben
      6. Abstrakte Klassen und Interfaces
      7. Übungsaufgaben
      8. Weiteres zum Thema Objektorientierung
        1. Erstellen von Paketen
        2. Zugriffsrechte
        3. Innere Klassen
        4. Anonyme Klassen
      9. Zusammenfassung
      10. Übungsaufgaben
    12. Praxisbeispiele
      1. Streng geheim
        1. Aufgabenstellung
        2. Analyse des Problems
        3. Verschlüsselung durch Aufblähen
        4. XOR-Verschlüsselung
        5. Ein einfacher Test
        6. Übungsaufgaben
      2. Mastermind zum dritten
        1. Aufgabenstellung
        2. Die Klassen GameModel und GameEngine
        3. Wir bauen ein Modell
        4. Programmstart
        5. Fazit
        6. Übungsaufgaben
      3. Game of Life
        1. Aufgabenstellung
        2. Designphase
        3. Die Klasse Zelle
        4. Die Klasse Petrischale
        5. Die Klasse Life
        6. Fazit
        7. Übungsaufgaben
    13. Exceptions und Errors
      1. Eine Einführung in Exceptions
        1. Was ist eine Exception?
        2. Übungsaufgaben
        3. Abfangen von Exceptions
        4. Ein Anwendungsbeispiel
        5. Die RuntimeException
        6. Übungsaufgaben
      2. Exceptions für Fortgeschrittene
        1. Definieren eigener Exceptions
        2. Übungsaufgaben
        3. Vererbung und Exceptions
        4. Vorsicht, Falle!
        5. Der finally-Block
        6. Die Klassen Throwable und Error
        7. Zusammenfassung
        8. Übungsaufgaben
      3. Assertions
        1. Zusicherungen im Programmcode
        2. Compilieren des Programmcodes
        3. Ausführen des Programmcodes
        4. Zusammenfassung
    14. Fortgeschrittene objektorientierte Programmierung
      1. Aufzählungstypen
        1. Deklaration eines Aufzählungstyps
        2. Instanzmethoden der enum-Objekte
        3. Selbstdefinierte Instanzmethoden für enum-Objekte
        4. Übungsaufgaben
      2. Generische Datentypen
        1. Generizität in alten Java-Versionen
        2. Generizität ab Java 5.0
        3. Einschränkungen der Typ-Parameter
        4. Wildcards
        5. Bounded Wildcards
        6. Generische Methoden
        7. Ausblick auf Band 2
        8. Übungsaufgaben
    15. Zu guter Letzt
      1. Collections
      2. Sortieren von Feldern
      3. Grafische Oberflächen in Java

 

  Letzte Bearbeitung: 17.08.2007 (R. Küstermann)