Gliederung des Textes:

Java-Programme. Lese- und Lernhilfe für [Staud 2026a] (Version 2026/7/24)

Vorwort, Inhalt, Abkürzungen

1 Einleitung

1.1 Konzept

1.2 Bibliotheken

1.3 Packages

1.4 Formatierung und Schreibweise

2 Grundlagen

2.1 Datentypen

2.2 Attribute

2.3 Logische Operatoren

2.4 Referenzen

2.5 Der Begriff "Typ" in Java

3 Konsolenarbeit

3.1 Ausgeben auf Konsole

3.2 Lesen von der Konsole

4 Klassen, Objekte, Methoden

4.1 Klassen einrichten

4.2 Objekte einrichten - Konstruktoren

4.3 Record-Klassen

4.4 Aufruf von Methoden und Attributen

5 Prozedurales

5.1 Schleifen und Verzweigungen

5.2 Das Try/Catch-Konstrukt

6 Textdateien bearbeiten

6.1 Einleitung

6.2 Paket java.io

6.3 Zugriffe mit Streams

6.4 Klasse File

7 Exceptions

8 Projekt HS1 - Objekterzeugung

8.1 Klasse HP (Hauptprogramm; main)

8.2 Klasse Stud

8.3 Ergebnis Programmlauf

8.4 Betrachtete Themen

9 Projekt HS2 - Objekte und Referenzen

9.1 Klasse HP

9.2 Klasse Stud

9.3 Ergebnis Programmlauf

9.4 Anmerkungen zum Programm

9.5 Betrachtete Themen

10 Projekt HS3 - Array mit Objekten

10.1 Klasse HP

10.2 Klasse Stud

10.3 Ergebnis Programmlauf

10.4 Beschreibung des Programms

10.5 Betrachtete Themen

11 Projekt HS4 - Aufrufe über Klassengrenzen

11.1 Klasse HP

11.2 Klasse Noten

11.3 Klasse Stud

11.4 Ergebnis Programmlauf

11.5 Beschreibung des Programms

11.6 Betrachtete Themen

12 Projekt HS5 - Eingaben

12.1 Klasse HP

12.2 Klasse Stud

12.3 Ergebnis Programmlauf

12.4 Anmerkungen zum Programm

12.5 Betrachtete Themen

13 Exkurs - Nachrichtenverkehr

14 Projekt HS6 - Record-Klassen

14.1 Projektbeschreibung

14.2 Klasse HP

14.3 Klasse Stud

14.4 Ergebnis Programmlauf

14.5 Betrachtete Themen

14.6 Exkurs - Record vs. Klasse

14.7 Exkurs - Methode hashCode()

15 Projekt HS7 - Vererbung, Attribute

15.1 Klasse Fahrzeuge

15.2 Klasse PKW

15.3 Klasse LKW

15.4 Klasse VAN

15.5 Klasse HP

15.6 Ergebnis Programmlauf

15.7 Betrachtete Themen

15.8 Projektbeschreibung

16 Projekt HS7a - Override und Overload

16.1 Klasse HP

16.2 Klasse Fahrzeuge

16.3 Klasse PKW

16.4 Ergebnis Programmlauf

16.5 Betrachtete Themen

16.6 Exkurs: Override vs. Overload

17 Projekt HS8 - Kapselung

17.1 Klasse HP

17.2 Klasse Stud

17.3 Ergebnis Programmlauf

17.4 Projektbeschreibung

17.5 Betrachtete Themen

17.6 Anmerkung

18 Projekt HS9 - Assoziationen

18.1 Klasse HP

18.2 Klasse Stud

18.3 Klasse Note

18.4 Ergebnis Programmlauf

18.5 Erläuterungen zum Programm

18.6 Betrachtete Themen

19 Projekt hsdaten - Dateien

19.1 Klasse Erstellen

19.2 Klasse Schreiben

19.3 Klasse Schreiben2

19.4 Klasse Lesen

19.5 Klasse Anhaengen

19.6 Klasse Loeschen

19.7 Klasse ErzeugLoesch

19.8 Klasse EinlesenCSV

20 Übungsaufgaben Teil 1

20.1 Aufgabe 1 - Klasse und Objekt

20.2 Aufgabe 2 - Referenzen

20.3 Aufgabe 3a - Arrays Einführung

20.4 Aufgabe 3b - Arrays mit Objekten

21 Übungsaufgaben Teil 2

21.1 Aufgabe 4a - Klassen ohne Beziehung

21.2 Aufgabe 4b -Einseitig

21.3 Aufgabe 4c - Bidirektional

21.4 Aufgabe 4d - n:m-Beziehung

21.5 Aufgabe 4e - Assoziationsklasse

22 Übungsaufgaben Teil 3

22.1 Aufgabe 5 - Eingaben

22.2 Aufgabe 6 - Record

22.3 Aufgabe 7 - Vererbung

22.4 Aufgabe 8 - Kapselung

22.5 Aufgabe 9 - Overload

23 Übungsaufgaben Teil 4

23.1 Aufgabe 10 - Einstieg

23.2 Aufgabe 11 - Konstruktoren

23.3 Aufgabe 12 - Array

23.4 Aufgabe 13 - Kapselung

23.5 Aufgabe 14 - Vererbung

23.6 Aufgabe 15 - Override

23.7 Aufgabe 16 - Polymorphie

24 Übungsaufgaben Teil 5

24.1 Aufgabe 17 - Abstrakte Klasse

24.2 Aufgabe 18 - Interface

24.3 Aufgabe 19 - 1:1

24.4 Aufgabe 19b - Bidirektional

24.5 Aufgabe 20 - n:m

24.6 Aufgabe 21 - Klassendiagramm HS

25 Übungsaufgaben Teil 6

25.1 Aufgabe 22 - Liste

25.2 Aufgabe 23 - Unternehmen

25.3 Aufgabe 25 - Abteilungszugehörigkeit

25.4 Aufgabe 26 - PC

25.5 Aufgabe 27 - Projekte

26 Übungsaufgaben Teil 7

26.1 Aufgabe 28 - n:m-Beziehung

26.2 Aufgabe 29 - Rekursive Beziehung

26.3 Aufgabe 30 - Gehaltsauswertung

26.4 Aufgabe 31 - Projektstatistik

26.5 Aufgabe 32 - Mini-Personalverwaltung

27 Übungsaufgaben Teil 8

27.1 Aufgabe 33 - Vererbung

27.2 Aufgabe 34 - Override

27.3 Aufgabe 35 - Overload

27.4 Aufgabe 36 - Abstraktes

28 Übungsaufgaben Teil 9

28.1 Aufgabe 37 - Interface

28.2 Aufgabe 38 - Mehrere Interfaces

28.3 Aufgabe 39 - Polymorphie

28.4 Aufgabe 40 - Laufzeittyp

28.5 Aufgabe 40a - Angestellte

29 Übungsaufgaben Teil 10

29.1 Aufgabe 41 - Records

29.2 Aufgabe 42 - Projektmitarbeit

29.3 Aufgabe 43 - Exception Handling

29.4 Aufgabe 44 - Eigene Exception

29.5 Aufgabe 45 - Generics

30 Übungsaufgaben Teil 11

30.1 Aufgabe 46 - HashSet

30.2 Aufgabe 47 - Maps

30.3 Aufgabe 48 - Streams

30.4 Aufgabe 49 - Lambda

30.5 Aufgabe 50 - Projektmitarbeit

31 Exkurs - Zusammenhänge

31.1 Die Grundidee

31.2 Arrays

31.3 Verkettete Listen

31.4 ArrayList

31.5 LinkedList

31.6 Link-Arrays

31.7 Zusammenfassung

32 Exkurs - Sammlungen (collection)

32.1 Warum braucht man Sammlungen?

32.2 Wichtige Sammlungen in Java

32.3 Sammlungen und Arrays

32.4 Zusammenhang mit obigen

33 Exkurs - NoSQL?

33.1 Vergleich

33.2 Objekte als Werte

33.3 Historischer Zusammenhang

34 Themenindex

35 Literatur

H

Staud

U