Beispielprogramme
Grundkurs Programmieren in Java (9. Auflage, 2024)

Download aller Beispielprogramme

Hier finden Sie alle Beispielprogramme aus dem Buch. Suchen Sie einfach anhand des Inhaltsverzeichnisses die Stelle, an der sich das Programm im Buch befindet, und navigieren Sie über den Link in den entsprechenden Teil des Dokuments.

Inhaltsverzeichnis

Quellcodes

1 Einige Grundbegriffe aus der Welt des Programmierens
HalloWelt.javaGibt "Hallo Welt!" auf dem Bildschirm aus
2.2 Mein erstes Programm
Berechnung.javaGibt die Summe zweier Zahlen auf dem Bildschirm aus
2.3 Übungsaufgaben
Uebung.javaKlasse Uebung aus Aufgabe 2.2
3.1.10 Übungsaufgaben
Berechnung.javaKlasse Berechnung aus Aufgabe 3.3
3.2.2 Ausgaben auf der Konsole
HalloWelt.javaDas wohl berühmteste Einsteiger-Programm der Programmiergeschichte
3.2.4 Schöner programmieren in Java
Unsorted.javaDieses Programm ist ein Beispiel dafür, wie das Einhalten weniger Formatierungsregeln die Lesbarkeit von Code steigert
    Version 1Nicht formatierte Version
    Version 2Gemäß der Richtlinien überarbeitete Version
3.2.6 Übungsaufgaben
Strukturuebung.javaKlasse Strukturuebung aus Aufgabe 3.5
3.3.1 Ganzzahlige Datentypen
Longtst.javaUnzulässiger Versuch für eine Longzahl-Ausgabe
3.3.1.1 Literalkonstanten in anderen Zahlensystemen
BinaereLiterale.javaDiese Klasse arbeitet mit Litealkonstanten zu verschiedenen Basen
3.3.1.2 Unterstrich als Trennzeichen in Literalkonstanten
Unterstrich.javaDemonstration zur richtigen Verwendung von Unterstrichen in numerischen Literalen
UnterstrichFalsch.javaDemonstration zur falschen Verwendung von Unterstrichen in numerischen Literalen
3.3.2 Gleitkommatypen
Floatdiv.javaDivision bei Gleitkommazahlen
Intdiv.javaDivision bei ganzen Zahlen
    Version 1Division ohne Rest
    Version 2Division mit Rest
3.3.4 Der Datentyp String für Zeichenketten
ZeichenkettenMehrzeilige Zeichenketten
3.4.1 Variablen
StundenRechner.javaBerechnung des Arbeitslohns
    Version 1Ohne Verwendung von Variablen
    Version 2Mit Verwendung von Variablen
3.4.4 Ein- und Ausgabe
IOToolsTest.javaBeispielprogramm für die Eingabe über Tastatur
3.4.4.1 Statischer Import der IOTools-Methoden
IOToolsTestMitStaticImport.javaBeispielprogramm für die Eingabe über Tastatur (mit statischem Import der Methoden)
3.4.6 Übungsaufgaben
Aufgabe 3.11
    Plus.javaKlasse Plus
Aufgabe 3.14
    Raviolita.javaKlasse Raviolita
3.5.3.2 Die switch-Anweisung
StringSwitchDemo.javaDiese Klasse demonstriert den Einsatz von Strings in der switch-Anweisung
3.5.3.3 Die vereinfachte switch-Anweisung
StringSwitchDemoNeu.javaDiese Klasse demonstriert den Einsatz der vereinfachten switch-Anweisung
3.5.3.4 Switch-Ausdrücke
StringSwitchAusdruckDemo.javaDiese Klasse demonstriert den Einsatz von switch-Ausdruecken
3.5.7 Übungsaufgaben
Aufgabe 3.18
    BreakAndContinue.javaKlasse BreakAndContinue
Aufgabe 3.22
    Falsch.javaKlasse Falsch
Aufgabe 3.23
    Irgendwas.javaKlasse Irgendwas
4.1 Felder (Arrays)
UmstaendlicherKalender.javaDieses Programm zeigt, wie ein Terminkalender ohne Verwendung von Feldern nur schwer programmiert werden kann
4.1.3 Felder unbekannter Länge
Swap.javaVertauscht ein Feld von Zahlen
4.1.4 Referenzen
Doppel.javaDas Programm verdoppelt eine einzelne Zahl
DoppelFeld.javaDas Programm verdoppelt ein Feld von Zahlen
4.1.5 Ein besserer Terminkalender
BessererKalender.javaKalenderprogramm unter Verwendung von Arrays
4.1.6 Mehrdimensionale Felder
MonatsKalender.javaDas Kalenderprogramm, gültig für einen ganzen Monat
4.1.9 Vereinfachte for-Schleifen-Notation
MehrSchleifen.javaTraditionelle und neue, vereinfachte Schleifen-Notation mehrdimensional
Schleifen.javaTraditionelle und neue, vereinfachte Schleifen-Notation eindimensional
4.2.1 Willkommen in der ersten Klasse!
Adresse.javaEine einfache Klasse zum Speichern einer Adresse
4.2.3 Ein erstes Adressbuch
AdressBuch_v1.javaEine einfache Adressverwaltung für nur eine Adresse
4.2.4 Klassen als Referenzdatentyp
AdressBuch_v2.javaEine einfache Adressverwaltung für zwei Adressen
4.2.5 Felder von Klassen
AdressBuch_v3.javaEine einfache Adressverwaltung für zwanzig Adressen
4.2.8 Übungsaufgaben
Adresse.javaKlasse Adresse
Komponente.javaKlasse Komponente
Referenzen.javaKlasse Referenzen
5 Methoden, Unterprogramme
Eval.javaBeispielprogramm zur Berechnung einer einfachen Formel
    Version 1Anfangs ist das Programm noch recht übersichtlich
    Version 2Bei mehreren Berechnungsläufen wird es aber schnell unübersichtlich
5.1.4 Aufruf von Methoden
AufrufTest.javaWas passiert, wenn wir den Inhalt von übergebenen Parametern in der Methode abändern?
5.1.6 Variable Argumentanzahl bei Methoden
Argumente.javaSummationsmethode mit variabler Argumentliste
5.1.7 Vorsicht, Falle: Referenzen als Parameter
AufrufTest2.javaVorsicht Falle: Übergabe von Arrays an Methoden
AufrufTest3.javaExplizites Kopieren von Feldinhalten
5.1.8 Sichtbarkeit und Verdecken von Variablen
VerdeckenTest.javaVerdecken von Variablen beim Methodenaufruf
5.1.10 Übungsaufgaben
Aufgabe 5.3
    BooleanMethodsKlasse BooleanMethods
5.2.1 Motivation
Unendlichkeit.javaWas passiert, wenn Methoden sich selbst aufrufen?
5.2.2 Gute und schlechte Beispiele für rekursive Methoden
IndirekteRekursion.javaBeispiel für Endlosrekursion
5.3.1 Kommandozeilenparameter
GrussWort.javaDas Programm liest Kommandozeilenparameter aus und verwertet sie in einem Gruss
5.3.4 Übungsaufgaben
Signatur.javaKlasse Signatur aus Aufgabe 5.6
5.4.1 Klassenmethoden
MeineMethoden.javaKlasse, die Methoden bereitstellt
TesteMethoden.javaKlasse, die die Methoden der Klasse verwendet
5.4.3 Statischer Import
StatischeImports.javaKlasse, die statisch importierte Math-Methoden benutzt
5.5.1 Instanzmethoden
Multiplizierer.javaKlasse mit Instanzvariable und Instanzmethode
TesteMultiplizierer.javaKlasse, die Instanzmethoden von verschiedenen Objekten einsetzt
5.5.2 Die Methoden der Klasse String
StringTest.javaEinige Beispiele für den Umgang mit Strings
5.6 Übungsaufgaben
Tausche.javaKlasse Tausche aus Aufgabe 5.9
6.3.2 Vererbung
FaxAdresse.javaErweiterung des Adress-Objektes
7.1 Vom Referenzdatentyp zur Objektorientierung
Student.javaStudenten-Klasse, erster Versuch
7.2.1 Zugriffsrechte
Student.javaAus Gründen der Kapselung wurden die Instanzvariablen auf private gesetzt
7.2.2 Was sind Instanzmethoden?
Student.javaDer Zugriff auf private Bestandteile der Klasse wird durch Methoden gekapselt
7.2.3 Instanzmethoden zur Validierung von Eingaben
Student.javaDie Matrikelnummer kann auf Gültigkeit geprüft werden
7.2.4 Instanzmethoden als erweiterte Funktionalität
Student.javaDie Klasse besitzt jetzt eine toString-Methode
7.3.1 Klassenvariablen und -methoden
Student.javaNeuer Bestandteil: ein Instanzzähler
7.3.2 Klassenkonstanten
Student.javaKonstanten definieren die Studienfächer
7.4.1 Konstruktoren
Student.javaNeu: ein selbstdefinierter argumentloser Konstruktor
7.4.2 Überladen von Konstruktoren
Student.javaDie Studenten-Klasse, diesmal mit zwei Konstruktoren
    Version 1Beide Konstruktoren sind unabhängig voneinander definiert
    Version 2Ein Konstruktor setzt mit Hilfe des Schlüsselwortes this auf dem anderen auf
7.4.3 Der statische Initialisierer
Student.javaDas Phantom der Uni - erzeugt durch einen statischen Initialisierer
7.4.4 Der Mechanismus der Objekterzeugung
Sub.javaSubklasse für den Test der Aufrufreihenfolge beim Erzeugen von Objekten
Super.javaSuperklasse für den Test der Aufrufreihenfolge beim Erzeugen von Objekten
7.6 Übungsaufgaben
Aufgabe 7.10
    TestStrecke.javaKlasse TestStrecke
Aufgabe 7.11
    AchJa.javaKlasse AchJa
Aufgabe 7.12
    Patient.javaKlasse Patient
Aufgabe 7.13
    Reifen.javaKlasse Reifen
Aufgabe 7.15
    IntKlasse.javaKlasse IntKlasse
    KlassenTest.javaKlasse KlassenTest
    RefIntKlasse.javaKlasse RefIntKlasse
Aufgabe 7.16
    Glasboden.javaKlasse Glasboden
Aufgabe 7.3
    KarlsruherStudent.javaKlasse KarlsruherStudent
Aufgabe 7.4
    Klang.javaKlasse Klang
    Krach.javaKlasse Krach
    Musik.javaKlasse Musik
Aufgabe 7.5
    Fuchs.javaKlasse Fuchs
    Hund.javaKlasse Hund
    Katze.javaKlasse Katze
    Maus.javaKlasse Maus
    Ratte.javaKlasse Ratte
Aufgabe 7.6
    TestZwei.javaKlasse TestZwei
Aufgabe 7.7
    Fehler1.javaKlasse Fehler1
    Fehler2.javaKlasse Fehler2
    Fehler3.javaKlasse Fehler3
    Fehler4.javaKlasse Fehler4
    Fehler5.javaKlasse Fehler5
    Fehler6.javaKlasse Fehler6
Aufgabe 7.8
    TennisSpieler.javaKlasse TennisSpieler
8.1.3 Ein erster Ansatz
USDollar.javaEine erste, konkrete Währung
Waehrung.javaDiese Klasse stellt allgemein Geldwerte dar
8.1.4 Eine Klasse für sich
Yen.javaDie japanische Währung
8.1.6 Vererbung verhindern durch final
Kid.javaTest: Vererbung Verhindern durch final
NoKidsPlease.javaKlasse zur Demonstration des Schutzes vor Vererbung
8.1.7 Übungsaufgaben
Aufgabe 8.1
    Euro.javaKlasse Euro
8.2 Die super-Referenz
NonsensDollar.javaKlasse mit einer völlig unsinnig überschriebenen Methode ;-)
8.3.1 Dynamisches Binden
Sohn.javaTest: Dynamisches Binden
Vater.javaTest: Dynamisches Binden
8.3.2 Überschreiben von Methoden verhindern durch final
Kind.javaTest: Überschreiben von Methoden
Papa.javaTest: Überschreiben von Methoden
8.4.2 Hilfe beim Überschreiben: Die Annotation @Override
Fahrzeug.javaFinale Version der Fahrzeug-Klasse (korrekte Überschreibung)
FahrzeugTest.javaTestprogramm für die Klasse Fahrzeug
Fahrzeug_1.javaErster Versuch für die Fahrzeug-Klasse (nur Ueberladung)
Fahrzeug_2.javaZweiter Versuch für die Fahrzeug-Klasse (mit Override-Annotation)
8.4.3 Der Operator instanceof und das Pattern-Matching
GetValueMitPatternMatching.javaNutzung von instanceof mit Pattern-Matching
GetValueOhnePatternMatching.javaNutzung von instanceof und expliziten Typecasts
InstanzenTest.javaDer Operator instanceof und die Methode getClass im Vergleich
8.4.4 Das Pattern-Matching für switch
SwitchPatternMatching.javaPattern-Matching fuer switch
SwitchPatternMatchingMitWhen.javaEinsatz von Waechtern mit when-Ausdruecken
SwitchPatternMatchingReihenfolgeFalsch.javaFalsche Reihenfolge der Cases in switch
SwitchPatternMatchingReihenfolgeRichtig.javaRichtige Reihenfolge der Cases in switch
8.6.1 Einsatzszenarien am Beispiel
Goldbarren.javaEin simpler Wertgegenstand
Kruegerrand.javaEine Klasse, die sowohl Waehrung als auch Wertgegenstand ist
Waehrung.javaDie Klasse Waehrung, erweitert um einige Methoden
Wertgegenstand.javaInterface für einen Wertgegenstand
8.6.2 Abstrakte Klassen im Detail
Figur.javaAbstrakte Klasse für Figur-Objekte
FigurBearbeitung.javaDemo-Klasse zum Einsatz von Figur-Objekten
FigurenMain.javaAnwendungsprogramm für Figur-Objekte
Kreis.javaKreis als konkrete Tochter-Klasse von Figur
RechtEckchen.javaRechtEckchen als konkrete Tochter-Klasse von Figur
8.6.3 Interfaces im Detail
Bewegen.javaAnwendungsprogramm für bewegliche Objekte
Beweglich.javaInterface für bewegliche Objekte
Klappbar.javaInterface für klappbare Objekte
Kreis.javaKreis als konkrete Tochter-Klasse von Figur für bewegliche Kreise
Stuhl.javaStuhl als Implementierung der beiden Interfaces
    Version 1Klasse für bewegliche Stühle
    Version 2Klasse für bewegliche und klappbare Stühle
8.7.1 Deklaration von Default-Methoden
Formel.javaInterface zur Berechnung einer einfachen Formel
    Version AEine Methode ohne Implementierung
    Version BZwei Methoden, eine davon mit Default-Implementierung
FormelEins.javaKlasse, die das Formel-Interface implementiert
FormelEinsRennen.javaAnwendungsprogramm zum Testen des Interface Formel
    Version AAnwendungsprogramm, das mit Version A des Interface Formel arbeitet
    Version BAnwendungsprogramm, das mit Version B des Interface Formel arbeitet
8.7.2 Deklaration von statischen Methoden
Formel.javaInterface zur Berechnung einer einfachen Formel
    Version CErweitertes Interface Formel (Variante C) mit statischer Methode
FormelEinsRennen.javaAnwendungsprogramm zum Testen des Interface Formel
    Version CAnwendungsprogramm, das mit Version C des Interface Formel arbeitet
8.7.3 Auflösung von Namensgleichheiten bei Default-Methoden
Konflikte.javaInterfaces und Klassen, zum Thema Namensgleichheiten bei Default-Methoden
8.8.3 Innere Klassen
EinsMitInnerenKlassen.javaZwei Arten von inneren Klassen
EinsMitInnerenKlassenDemo.javaInnere Klassen in anderen Klassen verwenden
ErzeugeWerteTabellen.javaAnwendungsprogramm zum Tabellieren von Funktionswerten unter Einsatz von statischen inneren Klassen und einem Interface
Funktion.javaInterface für Funktions-Objekte
GeburtstageVerwalten.javaAnwendungsprogramm zur Verwaltung von Geburtstagen unter Einsatz von nicht-statischen inneren Klassen und einem Interface
Menuepunkt.javaInterface für Menüpunkte-Objekte
8.8.4 Anonyme Klassen
ErzeugeWerteTabellen2.javaAnwendungsprogramm zum Tabellieren von Funktionswerten unter Einsatz von anonymen inneren Klassen und einem Interface
GeburtstageVerwalten2.javaAnwendungsprogramm zur Verwaltung von Geburtstagen unter Einsatz von anonymen inneren Klassen und einem Interface
8.10 Übungsaufgaben
Aufgabe 8.9
    MetallPlatte.javaKlasse MetallPlatte
Aufgabe 8.10
    Bildschirm.javaKlasse Bildschirm
    SpielFigur.javaKlasse SpielFigur
Aufgabe 8.12
    Brot.javaKlasse Brot
    Mahlzeit.javaKlasse Mahlzeit
    Salat.javaKlasse Salat
    Sandwich.javaKlasse Sandwich
    Wurst.javaKlasse Wurst
Aufgabe 8.13 a)
    Auto.javaKlasse Auto
    AutoTest.javaKlasse AutoTest
    Fahrzeug.javaKlasse Fahrzeug
Aufgabe 8.13 b)
    AKlasse.javaKlasse AKlasse
    CKlasse.javaKlasse CKlasse
    Elchtest.javaKlasse Elchtest
Aufgabe 8.14
    A.javaKlasse A
    ABCD.javaKlasse ABCD
    B.javaKlasse B
    C.javaKlasse C
    D.javaKlasse D
Aufgabe 8.15
    Point.javaKlasse Point
9 Exceptions und Errors
Excep1.javaEin sehr einfaches Programm, welches aber bereits eine Exception produzieren kann
9.1.3 Abfangen von Exceptions
Excep2.javaDie bei Division durch 0 auftrende Exception wird abgefangen
9.1.4 Ein Anwendungsbeispiel
LiesAusDatei.javaProgramm zum Lesen einzelner Zeichen aus einer Datei
    Version 1Komplett ohne Fehlerbehandlung
    Version 2Mit pauschaler Fehlerbehandlung
    Version 3Mit individueller Fehlerbehandlung
9.1.5 Die RuntimeException
Excep1.javaEin sehr einfaches Programm, welches aber bereits eine Exception produzieren kann
9.1.6 Übungsaufgaben
Aufgabe 9.2
    Exueb1.javaKlasse Exueb1
    Exueb2.javaKlasse Exueb2
    Exueb3.javaKlasse Exueb3
    Exueb4.javaKlasse Exueb4
    Exueb5.javaKlasse Exueb5
    Exueb6.javaKlasse Exueb6
    Exueb7.javaKlasse Exueb7
9.2.1 Definieren eigener Exceptions
DigitException.javaEigene Exception-Klasse zur Erkennung von Ziffern und Erzeugen entsprechender Exception
LiesAusDatei_3.javaKlasse zum Auslesen einer Datei und Erkennen von Ziffern
9.2.3 Vererbung und Exceptions
PingException.javaDie Ping-Exception
PingPong.javaEin Programm, welches Exceptions auslöst
    Version 1Jede Exception wird in einem eigenen try-catch-Block behandelt
    Version 2Nur ein try-catch-Block für alle drei Exceptions
PingPongException.javaDie PingPong-Exception
PongException.javaDie Pong-Exception
9.2.4 Vorsicht, Falle!
PingPong.javaEin Programm, welches Exceptions auslöst
    Version 3Die PingPongException wird vor der PongException gefangen
    Version 4Die PongException wird vor der PingPongException gefangen
9.2.5 Der finally-Block
PingPong.javaEin Programm, welches Exceptions auslöst
    Version 5Alle Exceptions ausser der PongException werden weitergeleitet
    Version 6Das Betreten und verlassen des "kritischen Bereichs" wird durch Ausgaben auf die Konsole gekennzeichnet
    Version 7Die Meldung des »Verlassens« wandert in den try-Block
    Version 8Die Meldung des »Verlassens« wird dupliziert: sie steht sowohl im catch-Block als auch nach der try-catch-Anweisung
    Version 9Die wahrhaft elegante Lösung: die Ausgabe erscheint im finally-Block
9.2.8 Übungsaufgaben
Aufgabe 9.4
    Exueb8.javaKlasse Exueb8
9.3.1 Zusicherungen im Programmcode
AssertionTest.javaMethode kehrwert mit einer Zusicherung
9.4 Mehrere Ausnahmetypen in einem catch-Block
Wurzel.javaProgramm mit herkömmlichem Exception-Handling
WurzelMultiCatch.javaProgramm mit Exception-Handling für zwei Ausnahme-Typen in einem catch-Block
10.1.1 Deklaration eines Aufzählungstyps
typenPaket typen
    Jahreszeit.javaDie vier Jahreszeiten als enum-Typ
10.1.2 Instanzmethoden der enum-Objekte
Aufzaehlungen.javaVerwendung des Jahreszeiten-enum-Typs
10.1.3 Selbstdefinierte Instanzmethoden für enum-Objekte
Enumerations.javaVerwendung des Noten-Typs
typenPaket typen
    Noten.javaDie Noten auf der Klavier-Tastatur
10.1.4 Übungsaufgaben
Aufgabe 10.1
    StudentenTest.javaKlasse StudentenTest
Aufgabe 10.2
    StudentenTest2.javaKlasse StudentenTest2
Aufgabe 10.3
    EsWarEinmal.javaKlasse EsWarEinmal
10.2.1 Herkömmliche Generizität
Ohrring.javaSimple Klasse fuer Ohrring-Objekte
Paar.javaKlasse für Paare vom Typ Object
PaarTest1.javaTestprogramm 1 fuer die Paar-Klasse
PaarTest2.javaTestprogramm 2 fuer die Paar-Klasse
Socke.javaSimple Klasse fuer Socken-Objekte
10.2.2 Generizität durch Typ-Parameter
GenPaar.javaGenerische Paar-Klasse
GenPaarTest1.javaTesprogramm 1 für die generische Paar-Klasse
GenPaarTest2.javaTesprogramm 2 für die generische Paar-Klasse
10.2.3 Einschränkungen der Typ-Parameter
Hemd.javaSimple Klasse für Hemden-Objekte
Hose.javaSimple Klasse für Hosen-Objekte
Kleidung.javaSimple Klasse für Kleidungs-Objekte
TollesPaar.javaGenerische Paar-Klasse mit eingeschraenktem Typ-Parameter
TollesPaarTest.javaTestprogramm für die Klasse TollesPaar
10.2.4 Wildcards
Invarianz.javaInvarianz bei generischen Datentypen
Kovarianz.javaKovarianz bei Array-Typen
TollesPaarTestWild1.javaTestprogramm ohne Wildcards fuer die Klasse TollesPaar
TollesPaarTestWild2.javaTestprogramm mit Wildcards fuer die Klasse TollesPaar
10.2.5 Bounded Wildcards
GenPaarTestWild1.javaTestprogramm 1 für die GenPaar-Klasse mit Bounded Wildcard
GenPaarTestWild2.javaTestprogramm 2 für die GenPaar-Klasse mit Bounded Wildcard
GenPaarTestWild3.javaTestprogramm 3 für die GenPaar-Klasse mit Bounded Wildcard
Jeans.javaSimple Klasse fuer Jeans-Objekte
10.2.6 Generische Methoden
GenPaarTest3.javaTestprogramm mit generischen Methoden
GenPaarTest5.javaTestprogramm mit generischen Methoden und eingeschränkten Typ-Parametern
10.2.7 Verkürzte Notation bei generischen Datentypen
GPaar.javaGenerischer Datentyp für die Beispielprogramme
GPaarDemo.javaBisherige Notation beim Einsatz generischer Datentypen
GPaarDiamondDemo.javaVerkürzte Notation beim Einsatz generischer Datentypen
GPaarDiamondFalsch.javaUnzulässige Verwendung der verkürzten Notation beim Einsatz generischer Datentypen
10.2.9 Übungsaufgaben
Aufgabe 10.4
    TierKaefig.javaKlassen für Aufgabe 10.4
Aufgabe 10.5
    Tierleben.javaKlassen und Interfaces für Aufgabe 10.5
Aufgabe 10.6
    RateMal.javaKlasse RateMal
Aufgabe 10.7
    Konzert.javaKlassen für Aufgabe 10.7
10.3 Sortieren von Feldern und das Interface Comparable
Ring.javaKlasse zur Darstellung von Ringobjekten, die nach ihrer Groesse sortiert werden koennen
RingDemo.javaTestprogramm zur zufaelligen Erzeugung und Sortierung von zehn Ringen
10.4.1 Der Mechanismus der Versiegelung
Figur.javaKlasse zur Darstellung von Figurobjekten
Geometrisch.javaInterface für geometrische Objekte
Kreis.javaKlasse zur Darstellung von Kreisobjekten
Kreis_v2_mit_Interface.javaKlasse zur Darstellung von Kreisobjekten (Interface-Variante)
Kugel.javaKlasse zur Darstellung von Kugelobjekten
Kugel_v2_mit_Interface.javaKlasse zur Darstellung von Kugelobjekten (Interface-Variante)
Punkt.javaKlasse zur Darstellung von Punktobjekten
Ring.javaKlasse zur Darstellung von Ringobjekten
Scheibe.javaKlasse zur Darstellung von Scheibeobjekten
Scheibe_v2_mit_InterfaceKlasse zur Darstellung von Scheibeobjekten (Interface-Variante)
10.4.2 Versiegelung am Beispiel von Klassen
Auto.javaKlasse zur Darstellung von Autoobjekten
Bauklotz.javaKlasse zur Darstellung von Bauklotzobjekten
HotWheels.javaKlasse zur Darstellung von HotWheelsobjekten
LackierterBauklotz.javaKlasse zur Darstellung von lackierten Bauklotzobjekten
Matchbox.javaKlasse zur Darstellung von Matchboxobjekten
Murmel.javaKlasse zur Darstellung von Murmelobjekten
NaturBauklotz.javaKlasse zur Darstellung von Naturbauklotzobjekten
Spielzeug.javaKlasse zur Darstellung von Spielzeugobjekten
10.4.3 Versiegelung am Beispiel mit einem Interface
AbschlussNotenBerechnung.javaBeispielhaftes Anwendungsprogramm
EndNotenRechner.javaKlasse mit Methode zur Berechnung der Endnoten
PO_18.javaKlasse für die Beispielprüfungsordnung 18
PO_24.javaKlasse für die Beispielprüfungsordnung 24
PruefungsOrdnung.javaInterface für Prüfungsordnungen
Studi.javaKlasse zur Darstellung von Studierenden
10.4.4 Hilfreiche Konsequenzen für das Pattern-Matching
Eins.javaKlasse für die Ziffer 1
Null.javaKlasse für die Ziffer 0
PatternTest.javaBeispielhaftes Anwendungsprogramm mit switch
Ziffer.javaInterface für Zifferobjekte
Zwei.javaKlasse für die Ziffer 2
10.5.1 Motivation für die Nutzung von Records
Name.javaRecord für die Darstellung von Namen
NameTest.javaAnwendungsprogramm
Name_Version_als_Klasse.javaUrsprüngliche Klasse für die Darstellung von Namen
10.5.2 Records im Detail
Punkt.javaRecord für die Darstellung von Punkten
PunktTest.javaAnwendungsprogramm
10.5.2.1 Regeln zur Vererbung für Records
Projektion.javaInterface für Punkt-Projektionen in die Zeichenebene
Punkt.javaRecord für die Darstellung von Punkten
10.5.2.2 Mögliche Ergänzungen von Records
Punkt.javaRecord für die Darstellung von Punkten mit Ergänzungen
PunktTest.javaAnwendungsprogramm
10.5.3 Records und das Pattern-Matching
Fahrzeug.javaKlasse für die Darstellung von Fahrzeugen
GetValueMitRecordPattern.javaAnwendungsprogramm mit instanceOf und Record-Patterns
GetValueOhneRecordPattern.javaAnwendungsprogramm mit instanceOf
Punkt.javaRecord für die Darstellung von Punkten
SwitchPatternMatchingMitRecordPattern.javaAnwendungsprogramm mit switch und Record-Patterns
SwitchPatternMatchingOhneRecordPattern.javaAnwendungsprogramm mit switch
USDollar.javaKlasse für die Waehrung US-Dollar
Waehrung.javaAbstrakte Klasse für die Darstellung von Waehrungen
11.1.1 Arbeiten mit String-Objekten
StringRefs.javaDiese Klasse stellt String-Objekte als Referenzdatentyp vor
11.2.1 Arbeiten mit „eingepackten“ Daten
WrapperBeispiel.javaDiese Klasse zeigt die Funktionsweise von Wrapperklassen
11.2.3 Ein Anwendungsbeispiel
Summiere.javaDiese Klasse stellt ein Summations-Programm dar
11.2.4 Automatische Typwandlung für die Wrapper-Klassen
AutoBoxing.javaVerwendung von Wrapper-Objekten mit AutoBoxing
AutoBoxingDangers.javaGefahren bei der Verwendung von Wrapper-Objekten
Boxing.javaVerwendung von Wrapper-Objekten mit explizitem Boxing
11.3.1 Arbeiten mit langen Ganzzahlen
QuadrierungBigInt.javaDiese Klasse ist ein modifiziertes Quadrierungsprogramm
QuadrierungLong.javaDiese Klasse quadriert die Zahl 16 mehrfach
11.3.4 Arbeiten mit langen Gleitkommazahlen
ProduktSummeBigDec.javaDiese Klasse korrigiert Fehler der Klasse ProduktSummeDouble
ProduktSummeDouble.javaDiese Klasse gibt bei der Rechnung mit Gleitkommazahlen einzelne Rechenschritte aus
11.3.6 Viele Stellen von Nullstellen gefällig?
BigNewton.javaNäherungsweise Berechung der Nullstellen der Funktion sqrt(2) mit Hilfe des Newton-Verfahrens
11.4.1 Standardausgaben in Java
StandardFormat.javaDiese Klasse zeigt wie man das Ausgabeformat von double- Werten beeinflussen kann
11.4.2 Arbeiten mit Format-Objekten
MyFormats.javaDiese Klasse zeigt an weiteren Beispielen "selbst gemachte" Formate zur Ausgabe von numerischen Werten
11.4.3 Vereinfachte formatierte Ausgabe
Ausgaben.javaFormatierte Ausgabe mit printf
11.5.2 Auf die Plätze, fertig, los!
Stoppuhr.javaDiese Klasse realisiert eine einfache Stoppuhr
11.5.3 Spezielle Calendar-Klassen
CalArith.javaDiese Klasse gibt "Zeitpunkte" aus
11.5.4 Noch einmal: Zeitmessung
CalStoppuhr.javaDiese Klasse ist eine alternative Version der "einfachen Stoppuhr" und arbeitet mit "Zeitpunkten"
11.6.1 Arbeiten mit Format-Objekten für Datum/Zeit-Angaben
MyDateFormats.javaDiese Klasse gibt noch einige weitere Beispiele für "selbst gestrickte" Formate zur Ausgabe von Zeitangaben
MyStandardDateFormats.javaDiese Klasse gibt noch einige Beispiele für Standard-Formate zur Ausgabe von Zeitangaben
11.7.3.2 Die Klasse HashSet
ZahlenMenge.javaDiese Klasse zeigt die Verwendung einer Collection vom Typ HashSet
11.7.3.4 Die Klasse TreeSet
SortierteZahlenMenge.javaDiese Klasse zeigt die Verwendung einer Collection vom Typ TreeSet
11.7.4.2 Die Klassen ArrayList und LinkedList
ZahlenListe.javaDiese Klasse zeigt die Anwendung der List- Klassen am Beispiel der Klasse ArrayList
11.7.4.3 Suchen und Sortieren – die Klassen Collections und Arrays
SortierteZahlenListe.javaDiese Klasse demonstriert die Anwendung der Klasse Collections
11.7.5 Verkürzte Notation bei Collection-Datentypen
ListDiamondDemo.javaVerkürzte Schreibweise für den Diamond-Operator
ListDiamondFalsch.javaHier kann Java den vollständigen Datentyp nicht ableiten
11.7.7.2 Die Klassen HashMap und TreeMap
Haustier.javaRecord fuer Haustiere
HaustierNamenMap.javaHaustier-Map mit HashMap implementiert
HaustierNamenSortedMap.javaHaustier-Map mit TreeMap implementiert
11.8 Die Klasse StringTokenizer
StringTokens.javaDiese Klasse ist ein Beispielprogramm zur Verwendung von StringTokenizer-Objekten
StringTokensAlternative.javaDiese Klasse ist ein Beispielprogramm zur Verwendung der Methode Split
12.2 Ein einfaches Beispiel mit dem AWT
FrameOhneInhaltAWT.javaDiese Klasse erzeugt einen Frame mit den Mitteln des AWT- Paketes
12.3 Let's swing now!
FrameOhneInhalt.javaDiese Klasse erzeugt einen Swing- Frame mit den von uns benötigten Erweiterungen
FrameOhneInhaltSwing.javaDiese Klasse erzeugt einen Frame mit den Mitteln von Swing- Klassen
12.4 Etwas „Fill-in“ gefällig?
FrameMitText.javaDiese Klasse erzeugt einen Frame mit Text
13.3 Die abstrakte Klasse JComponent
FrameMitTextUndToolTip.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.4.1 Die Klasse Color
FarbigesLabel.javaDiese Klasse kann ein farbiges Label darstellen
FrameMitSchwarzemLabel.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.4.2 Die Klasse Font
FrameMitMonospacedText.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.4.3.1 Die Klasse FlowLayout
FrameMitFlowLayout.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.4.3.2 Die Klasse BorderLayout
FrameMitBorderLayout.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.4.3.3 Die Klasse GridLayout
FrameMitGridLayout.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.5.1 Die Klasse JLabel
FrameMitBild.javaDiese Klasse macht nichts anderes als ihr Name verspricht
babycat.jpgIm Programm verwendetes Bild, muss im gleichen Verzeichnis wie das Programm liegen!
13.5.3 Die Klasse JButton
FrameMitButtons.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.5.4 Die Klasse JToggleButton
FrameMitToggleButtons.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.5.5 Die Klasse JCheckBox
FrameMitCheckBoxes.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.5.6 Die Klassen JRadioButton und ButtonGroup
FrameMitRadioButtons.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.5.7 Die Klasse JComboBox
FrameMitComboBoxes.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.5.8 Die Klasse JList
FrameMitListe.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.5.10 Die Klassen JTextField und JPasswordField
FrameMitTextFeldern.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.5.11 Die Klasse JTextArea
FrameMitTextArea.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.5.12 Die Klasse JScrollPane
FrameMitScrollText.javaDiese Klasse macht nichts anderes als ihr Name verspricht
13.5.13 Die Klasse JPanel
FrameMitPanels.javaDiese Klasse macht nichts anderes als ihr Name verspricht
babycatSmall.jpgIm Programm verwendetes Bild, muss im gleichen Verzeichnis wie das Programm liegen!
13.6.3 Die Klasse JDialog
TopLevelContainer.javaDiese Klasse demonstriert die Anwendung der drei Fenster-Arten Frame, Window und Dialog
13.6.5 Die Klasse JToolBar
FrameMitMenuBar.javaDiese Klasse macht nichts anderes als ihr Name verspricht
imagesUnterverzeichnis mit den Grafiken für das Programm
    blau.gifBlaues Kästchen
    gruen.gifGrünes Kästchen
    rot.gifRotes Kästchen
13.7 Übungsaufgaben
Aufgabe 13.1
    VierButtonFrame.javaKlasse VierButtonFrame
Aufgabe 13.3
    NotenEingabe.javaKlasse NotenEingabe
14.1.1 Zufällige Grautöne als Hintergrund
Farbwechsel.javaDiese Klasse erzeugt ein Swing-Fenster mit einem Button, der in der Lage ist die Hintergrundfarbe des Frames zufällig zu ändern
14.1.2 Ein interaktiver Bilderrahmen
Bilderrahmen.javaDiese Klasse erzeugt ein Swing-Fenster mit einem Meüe, einer Toolbar und einem Label mit Iconimage
imagesGrafiken, die vom Beispielprogramm benötigt werden
    blau.gifBlauer Rahmen
    cat.gifKatze
    dog.gifHund
    gruen.gifGrüner Rahmen
    mouse.gifMaus
    rot.gifRoter Rahmen
14.2.2 Anonyme Klasse als Listener-Klasse
Farbwechsel2.javaDiese Klasse ist eine Version unserer Farbwechsel- Klasse, allerdings mit anonymer Listener- Klasse
14.2.3 Container-Klasse als Listener-Klasse
Farbwechsel3.javaDiese Klasse ist eine Version der Farbwechsel- Klasse, die nun selbst eine Listener- Klasse ist
14.2.4 Separate Klasse als Listener-Klasse
ButtonListener.javaDiese Klasse ist ein Beispiel für eine eigenständige Listener- Klasse
Farbwechsel4.javaDiese Klasse benutzt die Listener- Klasse ButtonListener
14.4 Listener-Interfaces und Adapter-Klassen
CloseToggleButtons.javaDiese Klasse erzeugt ein Swing-Fenster mit zwei Toggle-Buttons, die zum Schließen des Fensters aktiviert sein müssen
14.5 Listener-Registrierung bei den Event-Quellen
LookAndFeel.javaDiese Klasse erzeugt ein Swing-Fenster, das mit Buttons und Combo-Box sein Look and feel ändern kann
14.6 Auf die Plätze, fertig, los!
StoppuhrFrame.javaDiese Klasse erzeugt ein Swing-Fenster mit Stoppuhrfunktion
14.7 Übungsaufgaben
Aufgabe 14.6
    EuroConverter.javaKlasse EuroConverter
15.1.3 Die abstrakte Klasse Graphics
ZeichenPanel.javaDiese Klasse ist eine spezielle JPanel-Klasse mit verschiedenen Graphics- Methoden
Zeichnung.javaDiese Klasse erzeugt ein Swing-Fenster mit einer Zeichnung
15.1.4 Ein einfaches Zeichenprogramm
PunkteVerbinden.javaDiese Klasse erzeugt ein Swing-Fenster mit einem Zeichenbrett
Zeichenbrett.javaDiese Klasse ist eine spezielle JPanel-Klasse für unser Zeichenbrett
15.1.5 Layoutveränderungen und der Einsatz von revalidate
NewButtonFrame1.javaDiese Klasse erzeugt ein Swing-Fenster, das sich wie erwartet verhält
NewButtonFrame2.javaDiese Klasse erzeugt ein Swing-Fenster und demonstriert die Funktion von validate(), invalidate() und revalidate()
15.3 Übungsaufgaben
Aufgabe 15.2
    GeoObjekt.javaInterface GeoObjekt
16.1 Ein einfaches Beispiel
ABCPrinter.javaDiese Klasse gibt das Alphabet aus
ABCThread.javaDiese Klasse gibt auch das Alphabet aus, ist jedoch ein Thread
MehrmalsP.javaDiese Klasse führt zweimal hintereinander die run- Methode der ABCPrinter- Klasse aus
MehrmalsT.javaDiese Klasse führt zweimal hintereinander die run- Methode der ABCThread- Klasse aus
16.2.1 Die Klasse Thread
MachMal.javaDiese Klasse macht eine Sekunde lang gar nichts
TVProgAuslosung.javaDiese Klasse lost zwischen versch TV- Programmen
TVProgThread.javaDiese Klasse stellt die Funktionalität unserer Programmauslosung als Thread dar
16.2.2 Das Interface Runnable
ABCRunnable.javaDiese Klasse gibt das Alphabet aus und implementiert das Runnable- Interface
MehrmalsR.javaDiese Klasse führt zweimal hintereinander die run- Methode der ABCRunnable- Klasse aus
TVProgAuslosungMitRunnable.javaDiese Klasse lost zwischen versch TV- Programmen
TVProgRunnable.javaDiese Klasse stellt die Funktionalität unserer Programmauslosung dar und implementiert das Runnable- Interface
16.2.3 Threads vorzeitig beenden
StoppuhrMitThread.javaDiese Klasse realisiert eine Stoppuhr mit sich aktualisierender Uhrzeit
UhrzeitThread.javaDiese Klasse gibt Sekundenweise die aktuelle Uhrzeit zurück
16.4.1 Das Leser/Schreiber-Problem
Figur.javaDiese abstrakte Klasse stellt eine Schachfigur dar
FigurenThreads.javaDemonstration des Leser/Schreiber-Problems
    Version 1In dieser Version besteht das Problem
    Version 2In dieser Version wird das Problem gelöst
GuteFigur.javaIn dieser Klasse ist das Problem gelöst
Leser.javaDiese Klasse stellt unseren Leser dar
SchlechteFigur.javaDiese Klasse führt bei Verwendung zu Problemen
Schreiber.javaDiese Klasse stellt unseren Schreiber dar
16.4.2 Das Erzeuger/Verbraucher-Problem
EVTest1.javaDiese Klasse ist ein Testprogramm zur Demonstration des Erzeuger/Verbraucher-Problems
EVTest2.javaDiese Klasse demonstriert die Lösung des Erzeuger/Verbraucher-Problems
EVTest3.javaDiese Klasse demonstriert die Deadlock-Situation
Erzeuger.javaDiese Klasse erzeugt einen int-Wert
GuterWert.javaIn dieser Klasse ist das Problem gelöst
KlemmWert.javaDiese Klasse führt bei Verwendung zum Deadlock
SchlechterWert.javaDiese Klasse führt bei Verwendung zu Problemen
Verbraucher.javaDiese Klasse "verbraucht" einen int-Wert
Wert.javaDiese abstrakte Klasse repräsentiert einen int-Wert
16.5.1 Auf die Plätze, fertig, los!
AnzeigeThread.javaDiese Klasse dient zur dynamischen Zeitanzeige
StoppuhrFrameThread.javaDiese Klasse stellt eine inzwischen fast komplette SToppuhr zur Verfügung
16.5.2 Spielereien
AutomatFrame.javaDiese Klasse ist ein einfacher Spielautomat
ColorRunLabel.javaDiese Klasse brauchen wir für die Label
KnopfListener.javaDiese Klasse ist ein Listener der beim Druck auf einen Button eine veränderliche Label-Anzeige per Thread startet
StartStopButton.javaDiese Klasse benötigen wir für die Knöpfe
16.6 Übungsaufgaben
Aufgabe 16.1
    KartenTerminal.javaKlasse KartenTerminal
    KonzertDaten.javaKlasse KonzertDaten
    UseTerminals.javaKlasse UseTerminals
17.2 Dateien und Verzeichnisse – die Klasse File
Create.javaDiese Klasse arbeitet mit File-Objekten
17.3.1 Einfache Reader- und Writer-Klassen
WriteToFile.javaDiese Klasse schreibt etwas in eine Datei
17.3.2 Gepufferte Reader- und Writer-Klassen
BufferedWriteToFile.javaDiese Klasse kann gepuffert etwas in eine Datei schreiben
17.3.3 Die Klasse StreamTokenizer
ZahlenSumme.javaDiese Klasse liest von der Tastatur eine Zeichenfolge ein um sie dann zu zerlegen und dabei die Zahlenwerte aufzusummieren und die Wörter aneinanderzuhängen
17.3.4 Die Klasse PrintWriter
PrintWriting.javaDiese Klasse kann mit Hilfe der print-Methode verschiedene Werte ausgeben
17.3.5.1 Was machen eigentlich die IOTools?
InTools.javaDiese Klasse zeigt wie die IOTools funktionieren
17.3.5.2 Konsoleneingabe über ein Scanner-Objekt
Eingaben.javaKonsolen-Eingabe unter Verwendung der Scanner-Klasse
17.4.1 Einige InputStream- und OutputStream-Klassen
DataWriteAndRead.javaDiese Klasse speichert elementare Werte in einer Datei und liest sie wieder ein
17.4.2 Die Serialisierung und Deserialisierung von Objekten
Datensatz.javaDiese Klasse demonstriert das Prinzip der Serialisierung
ObjectRead.javaDiese Klasse liest Objekte
ObjectReadMany.javaDiese Klasse liest ein Array sowie eine Liste von Objekten
ObjectWrite.javaDiese Klasse schreibt Objekte
ObjectWriteMany.javaDiese Klasse schreibt ein Array sowie eine Liste von Objekten
17.5 Streams im try-Block mit Ressourcen
Kopiere.javaBeispielprogramm zum Kopieren einer Textdatei
    KlassischUmständliche Version mit manuellem Schließen der Datenströme
    Try-With-ResourcesVereinfachte Version mit automatischem Schließen der Datenströme
ZeigeDateiInhalt.javaBeispielprogramm zur Ausgabe einer Textdatei
    KlassischUmständliche Version mit manuellem Schließen der Datenströme
    Try-With-ResourcesVereinfachte Version mit automatischem Schließen der Datenströme
17.6.2.1 Das Interface Path und die Klasse Paths
PathBeispiele.javaZugriffe auf Dateisysteme-Pfade mittels Path und Paths
17.6.2.2 Die Klasse Files
DateiOperationen.javaDateioperationen mit der Klase Files aus dem Paket java.nio.file
18.1.2 IP-Adressen
DNSAnfrage.javaDiese Klasse startet eine DNS- Anfrage
18.2.2 Ein einfacher Server
DateTimeProtokoll.javaDiese Klasse stellt das Protokoll für unseren Zeitserver zur Verfügung
DateTimeServer.javaDiese Klasse realisiert einen einfachen Zeit- Server
18.2.3 Ein einfacher Client
DateTimeClient.javaDiese Klasse ist ein Client für unseren Zeitserver
18.2.4 Ein Server für mehrere Clients
DateTimeDienst.javaDiese Klasse stellt das Protokoll für unseren DateTimeMultiServer zur Verfügung
DateTimeMultiServer.javaDiese Klasse ist kann mehrere Clienst gleichzeitig bedienen
18.2.5 Ein Mehrzweck-Client
MyClient.javaDiese Klasse ist ein Multifunktions- Client
19.1.1 Lambda-Ausdrücke in Aktion – zwei Beispiele
BuchstabenDruck.javaKlasse, die eine Klassenmethode drucke() bereitstellt
ZaehlButton.javaEreignisbehandlung mit anonymer Klasse
ZaehlButtonMitLambda.javaEreignisbehandlung mit Lambda-Ausdruck
ZweiRunnables.javaVergleich von Runnables mit anonymer Klasse und mit Lambda-Ausdruck
19.1.3 Lambda-Ausdrücke und funktionale Interfaces
Funktion1p.javaFunktionales Interface einer double-Methode mit einem Parameter
Funktion2p.javaFunktionales Interface einer double-Methode mit zwei Parametern
WerteTabellen.javaBeispiele für Anwendung von funktionalen Interfaces und Lambda-Ausdrücken
19.1.4 Vordefinierte funktionale Interfaces
WerteTabellenMitFunction.javaBeispiele für vordefinierte funktionale Interfaces und Lambda-Ausdrücke
19.1.5 Anwendungen auf Datenstrukturen
LambdaListenOperationen.javaListen-Operationen mit Lambda-Ausdrücken
19.1.6 Methodenreferenzen als Lambda-Ausdrücke
BuchstabenDruck.javaKlasse, die eine Klassenmethode drucke() bereitstellt
BuchstabenDrucker.javaKlasse, die eine Instanzmethode drucke() bereitstellt
LambdaListOpsMitMethRef.javaMethoden-Referenzen als Lambda-Ausdrücke
ZweiRunnablesMitMethRef.javaEinsatz von statischen und nicht-statischen Methodenreferenzen
19.1.7 Zugriff auf Variablen aus der Umgebung innerhalb eines Lambda-Ausdrucks
VarZugriff.javaZugriff auf Variablen innerhalb eines Lambda-Ausdrucks
19.2.1 Streams in Aktion
PipelineOperationen1.javaDemo-Programm 1 für Pipeline-Operationen auf Streams
PipelineOperationen2.javaDemo-Programm 2 für Pipeline-Operationen auf Streams
19.2.4 Die Stream-API
PipelineFakultaet.javaDemo-Programm 1 zu Zwischen- und Abschlussoperationen der Stream-API
PipelineFakultaetBigInt.javaDemo-Programm 2 zu Zwischen- und Abschlussoperationen der Stream-API
19.2.5 Übungsaufgaben
Aufgabe 19.3
    Pipeline1.javaKlasse Pipeline1
Aufgabe 19.4
    Pipeline2.javaKlasse Pipeline2
20.1 JShell für kleine Skripte
HalloJShell.jshHallo Welt für JShell
    Version 1Minimale Version mit nur einer Zeile
    Version 2Bessere Version mit Beenden von JShell am Ende
Serien.jshBeispiel für ein größeres JShell-Skript ohne Klassen
20.2 Das Java-Modulsystem
Java-Modulsystem.zipAlle Quellcodes als ZIP-Datei
m_appVerzeichnis des Moduls m_app
    appInternes Paket app, das nur im Modul m_app verwendet werden kann
        Main.javaAnwendungsprogramm mit der main-Methode
    module-info.javaModulbeschreibung für das Modul m_app
m_rechnerVerzeichnis des Moduls m_rechner
    module-info.javaModulbeschreibung für das Modul m_rechner
    rechnerNach außen sichtbares Paket rechner
        Rechner.javaDie Klasse Rechner mit der Methode berechne
        internInternes Paket intern, das nur im Modul m_rechner verwendet werden kann
            Addition.javaDie interne Klasse für die Berechnung einer Addition
            Operation.javaDas Interface, das von den internen Rechnenklassen implementiert werden muss
            Subtraktion.javaDie interne Klasse für die Berechnung einer Subtraktion
20.3 Bühne frei für JavaFX
HalloJavaFX.javaHallo Welt für JavaFX
    Version 1Komplett in Java geschrieben
    Version 2Mit ausgelagertem Stylesheet
    Version 3Mit ausgelagerter Layoutbeschreibung
layout.fxmlLayoutbeschreibung für Version drei des Programms
style.cssStylesheet für Version zwei und drei des Programms


Erzeugt am: Tue Jul 23 17:07:33 CEST 2024

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.

Diese Webseite bietet erweiterte Informationen zum Buch Grundkurs Programmieren in Java, das im Hanser Verlag erschienen ist.

weitere Webseiten

Kontakt

Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.