1. 2023-10-09
1.1. Konstruktoren
-
Dienen dazu Speicherplatz für die Objekte am Heap zu allokieren (reservieren)
-
Ein Konstruktor hat den selben Namen wie die Klasse und keinen Rückgabewert
-
Obwohl ein Konstruktor eine Methode ist, wird er mit großen Anfangsbuchstaben geschrieben.
-
Sie können Eingangsparameter haben, damit die Objektvariablen initialisiert werden
Deklaration → Einer Variable einen Datentyp und eine Bezeichnung zuweisen, zB int a; |
Initialisierung → Einer Variablen erstmalig einen Wert zuweisen |
2. 2023-10-16


Dreieck[] d = new Dreieck[10];
Figur[] figuren = new Figur[10];
figuren[0] = new Dreieck(10,40,45);
-
@Override
ist ein Marker, der sicherrstellt, dass auch eine (die korrekte) Methode überschrieben wird.
3. 2023-10-23
3.2. absoluter vs relativer Pfad
-
relativer Pfad
-
ausgehend vom aktuellem Verzeichnis
Wir befinden uns am Anfang im Rootcd America/USA/NewYork (1) cd ../Boston (2)
1 Das ist ein relativer Pfad 2 Das ist ebenfalls ein relativer Pfad
-
-
absoluter Pfad
cd /Europe/Germany/Berlin (1)
1 Das ist ein absoluter Pfad. Dieser beginnt immer im Wurzelverzeichnis (root)
Man erkennt einen absoluten Pfad daran, dass er immer mit einem / beginnt (unter Windows mit \ oder C:\ )
|
3.3. Ausnahmebehandlung (Exceptions)

-
Checked Exceptions müssen behandelt werden:
-
Weitergabe in Methodensignatur
-
Behandlung im try-catch-Block
-
3.4. try-with-resource
-
The try -with-resources statement is a try statement that declares one or more resources. A resource is an object that must be closed after the program is finished with it. The try -with-resources statement ensures that each resource is closed at the end of the statement.
try (Scanner scanner = new Scanner(new FileReader(FILE_NAME))) {
// ...
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
7. 2024-01-08
7.1. Boxing & Unboxing
-
Boxing: Vom Primitivdatentyp zum Objektdatentyp
-
z.B. int → Integer
-
-
Unboxing: Vom Objektdatentyp zum Primitivdatentyp
-
z.B. Integer → int
-
8. 2024-01-15
8.1. Tipps für den Test
-
Lesen und Schreiben von Files
-
Ev. einfach verkettete Liste
-
Mögliche Operationen:
-
Einfügen vorne und hinten und an bestimmten Positionen
-
Entnehmen (Löschen) von Elementen der Liste (vorne, hinten, nach Position)
-
Zugriff auf einzelne Elemente der Liste
-
Durchlaufen aller Elemente
-
-
Erweiterung von Zug-Beispiel
-
Anstelle der Wrapper-Klassen eigene Klassen / Objekte verwenden: zB Container (mit Gewicht, Name)
-
Berechnen des Gesamtgewichts
-
Ermitteln des schwersten und leichtesten Wagons.
-
Ermitteln des durchschnittlichen Gewichts der einzelnen Wagons.
-
Wieviele Wagons hat der Zug?
-
Welche Wagons sind leer?
-
-
9. 2024-02-12
9.1. Übung
-
Bsp 001: Erstellen Sie eine Klasse Person, sowie eine Klasse
PersonenSortierer
-
Mit einem Menü kann man auswählen wie die Liste sortiert wird
1 ... Person eingeben 2 ... Liste nach Nachnamen / Vornamen sortiert ausgeben 3 ... Liste nach Alter absteigend ausgeben 4 ... Liste nach Größe aufsteigend ausgeben 0 ... Programm beenden
-
Verwenden Sie als natürliche Sortierung Nachnamen und als zweites Kriterium den Vornamen
-
Für die anderen Sortierkriterien verwenden Sie das Comparator Interface
-
Beginnen Sie mit einfachen Unit-Tests um die Funktionalität zu prüfen
-
10. 2024-03-04
10.1. Sorts
10.1.5. O-Notation
-
Zeitkomplexität !
-
Platzkomplexität: Diese gibt an, wie viel zusätzlichen Speicherplatz der Algorithmus in Abhängigkeit von der Anzahl der zu sortierenden Elemente benötigt. Damit ist nicht der Speicherplatz gemeint, der für die zu sortierenden Elemente selbst benötigt wird, sondern darüberhinaus benötigter Platz für z. B. Hilfsvariablen, Schleifenzähler und temporäre Arrays.
-
stabile und nicht-stabile Sortierverfahren
11. 2024-05-06
11.1. statische Elemente in einer Klasse
-
Verbesserung der 3.LF-W
-
Hausübung
-
Die gesamte 3.LF ist zu verbessern
-
Die einzelnen Korrekturen sind in einer Datei VERBESSERUNG.adoc zu dokumentieren. Diese Datei ist im Repo-Root
-
Invite-Link: https://classroom.github.com/a/UZoZayof
-
Besonders wichtig ist die (Neu-)Implementierung von Aufgabe 3
-
11.4. Autoboxing
-
In Java gibt es Primitivdatentypen zB int → int zahl = 3;
-
Es gibt aber auch Objekttypen wie zB Integer
-
Man betrachtet diese Objekttypen als Schachtel (Box), in der die Primitivdatentypen verpackt werden.
zB Integer zahl = 3;
Hier wir nicht nur ein Wert erstellt, sondern ein ganzes Integer-Objekt (mit allen Methoden usw) in der der Wert 3 eingepackt wurde. Dies geschieht automatisch, daher autoboxing
-
Früher musste man das händisch durchführen.
Integer zahl = new Integer(3);
-
Boxing: int → Integer
-
Unboxing: Integer → int
-