- 1 Section
- 10 Lessons
- unbegrenzt
- Java Grundlagen10
- 1.1Java-Grundlagen: JDK, JVM, erstes Programm
- 1.2Variablen, Datentypen und Operatoren
- 1.3Kontrollstrukturen: if, else, switch
- 1.4Schleifen: for, while, do-while
- 1.5Arrays und Strings
- 1.6Methoden: Definition, Parameter, Rückgabe
- 1.7Fehlerbehandlung: try-catch-finally, Exceptions
- 1.8Einstieg in Klassen und Objekte
- 1.9Eingabe und Ausgabe: Scanner, System.out
- 1.10Praxisprojekt: Kleines Java-Programm von A bis Z
Praxisprojekt: Kleines Java-Programm von A bis Z
Zeit das Gelernte anzuwenden. In dieser Lektion bauen wir ein komplettes Java-Programm – einen kleinen Notenrechner – und sehen, wie alle Konzepte der vorigen 9 Lektionen zusammenspielen. Du wirst sehen: jede einzelne Lektion war ein Puzzleteil. Hier setzen wir sie zusammen.
Das Programm wird folgendes können: Es fragt den Benutzer nach Namen und Anzahl Klausuren. Dann liest es die einzelnen Punkte ein, validiert sie, berechnet Durchschnitt und Note, speichert das Ergebnis in einer kleinen Klasse und gibt eine schöne formatierte Auswertung aus. Klein – aber es nutzt fast alles aus K40a. Genau so läuft echte Software-Entwicklung ab: man baut Schritt für Schritt.
1) Die Projektroadmap – immer mit Plan vorgehen
Bevor du auch nur eine Zeile Code schreibst: plane. Was soll das Programm tun? Welche Eingaben, welche Ausgaben? Welche Schritte sind nötig? Das hier ist unsere Roadmap, die wir jetzt Schritt für Schritt umsetzen:
Klasse anlegen, main-Methode
Der Einstieg jedes Java-Programms (siehe L1). DateiNotenrechner.java, public class Notenrechner mit main-Methode.
Daten-Klasse „Schueler" definieren
Eine eigene Klasse für die Schüler-Daten (siehe L8). Attribute: name, punkte[], durchschnitt, note.Eingabe mit Scanner
Name und Anzahl Klausuren einlesen mit Scanner (L9). Punkte in Array (L5) speichern.Validierung mit Schleife + Exceptions
Schleifen (L4) für wiederholte Eingabe. Try-catch (L7) für Fehlerresistenz.Berechnungs-Methoden
Methoden (L6) für Durchschnitt und Note-Ermittlung. If-else-Kette (L3) für Notenstufen.Ausgabe formatiert mit printf
Ergebnis-Bericht mit%s, %.2f für saubere Darstellung. Schleife über Klausuren.
2) Schritt-für-Schritt: Code wächst
Jetzt bauen wir das Programm wirklich auf. Klicke die Tabs, um zu sehen wie das Programm in jedem Schritt wächst – neue Zeilen sind hervorgehoben:
3) Das Programm läuft: ein Beispieldurchlauf
So sieht es aus wenn das fertige Programm im Terminal läuft. Beachte wie alle Schritte aus der Roadmap zum Tragen kommen – Eingabe, Validierung, Berechnung, Ausgabe:
4) Reflexion: Was haben wir gelernt?
Schau dir an wie viele Konzepte in diesen ~50 Zeilen Code stecken. Jede Lektion aus K40a hat ihren Platz gefunden:
✓ L1: Struktur
public class, main-Methode, Datei-Klassen-Korrespondenz, Compile mit javac
→ Lektion 1✓ L2: Datentypen
int, double, String – passend gewählt. Type-Cast bei Division: (double) summe
→ Lektion 2✓ L4: Schleifen
for-Schleife für Eingabe und Ausgabe, foreach für Summe, while(true) bei Validierung
→ Lektion 4✓ L6: Methoden
Drei wiederverwendbare Methoden: leseGanzzahl, berechneSchnitt, ermittleNote
→ Lektion 6✓ L7: Exceptions
try-catch um InputMismatchException – Programm crasht nicht bei Müll-Eingabe
→ Lektion 75) Wie geht es weiter? Ideen für eigene Übungen
Du hast jetzt das Handwerkszeug für eigene Programme. Hier sind Übungs-Ideen aufsteigender Schwierigkeit, die alle mit dem K40a-Wissen lösbar sind:
★ Taschenrechner
Liest zwei Zahlen + Operator (+,−,*,/), gibt Ergebnis aus. Erweiterung: Schleife für mehrere Rechnungen.
★ BMI-Rechner
Liest Größe (m) und Gewicht (kg), berechnet BMI, gibt Kategorie aus (Untergewicht/Normal/Übergewicht).
★★ Zahlenraten-Spiel
Computer würfelt 1-100, User rät. Hinweise „zu hoch"/„zu niedrig". Math.random() nutzen.
★★ Adressbuch
Klasse Kontakt, Array von Kontakten. Menü-Loop: hinzufügen/anzeigen/suchen/beenden.
★★★ Tic-Tac-Toe
2D-Array für Spielfeld, Spielzüge wechselnd, Gewinn-Prüfung. Eine schöne Methoden-Zerlegung.
★★★ Mini-Bibliothek
Buch-Klasse (Titel, Autor, Jahr), Operationen Ausleihen/Zurückgeben, Datei-Persistenz lernen.
Was kommt als nächstes?
K40a war der Einstieg. In K40b – Java Fortgeschritten tauchen wir tief in die objektorientierte Programmierung ein: Vererbung (Klassen die von anderen erben), Polymorphismus (eine Methode, viele Verhalten), Interfaces, Collections (ArrayList, HashMap statt einfacher Arrays), Streams & Lambdas, JUnit-Tests. Davor empfiehlt sich auch K39 – Algorithmen und Datenstrukturen als theoretisches Fundament. Viel Erfolg beim Weiterlernen!
Zusammenfassung
Reale Projekte entstehen schrittweise: Roadmap planen, kleinstes lauffähiges Gerüst, dann iterativ erweitern. Unser Notenrechner kombiniert ALLE Konzepte aus K40a in <100 Zeilen Code: Klassen + Konstruktor (L8), Scanner-IO (L9), Schleifen (L4), Arrays (L5), Methoden (L6), Exceptions (L7), Bedingungen (L3), Datentypen + Cast (L2), formatierte Ausgabe (printf). Pattern für gutes Code-Design: Methoden für wiederverwendbare Logik, robuste Eingabe-Validierung mit try-catch und Schleife, klar getrennte Verantwortlichkeiten. Nächste Schritte: eigene Übungen + K40b für OOP.
