MINT lernen

Wie ein Java-Programm entsteht

Python liest dein Programm Zeile für Zeile — Java übersetzt es erst komplett. Was bringt dieser Umweg?

1

Vom Quelltext zum Bytecode

  • Quelltext:du schreibst Hallo.java — lesbarer Text mit der Endung .java.
  • Compiler:javac Hallo.java übersetzt die ganze Datei vor dem Start und prüft sie dabei auf Fehler.
  • Bytecode:das Ergebnis heißt Hallo.class — kein Text mehr, sondern Befehle für die JVM.
  • JVM:die Java Virtual Machine führt den Bytecode aus: java Hallo (ohne Endung).
  • Plattform:dieselbe .class-Datei läuft unter Windows, macOS und Linux — überall, wo eine JVM installiert ist.
  • Python:der Interpreter arbeitet Zeile für Zeile; ein Tippfehler in Zeile 20 fällt erst auf, wenn Zeile 20 drankommt.

Herleitung:

Hallo.java
| javac
Start: der Quelltext — von dir geschrieben, für Menschen lesbar.
Hallo.class
| java
Bytecode — entsteht nur, wenn der Compiler keinen Fehler findet.
Hallo Welt!
Ergebnis
Die JVM führt den Bytecode aus und schreibt die Ausgabe in die Konsole.
2

Das Grundgerüst

public class Hallo {
    public static void main(String[] args) {
        System.out.println("Hallo Welt!");   // Ausgabe mit Zeilenumbruch
    }
}
  • Klasse:public class Hallo — die Datei muss genau Hallo.java heißen.
  • main:hier startet das Programm; die Kopfzeile schreibst du immer gleich.
  • Regeln:jede Anweisung endet mit ;, Blöcke stehen in { } statt Einrückung; System ≠ system.
  • Ausgabe:println mit Zeilenumbruch, print ohne; Kommentar mit // statt #.
  • Compilerfehler:findet javac vor dem Start — es entsteht keine .class-Datei.
  • Laufzeitfehler:tritt erst beim Ausführen auf, z. B. eine Division durch 0.

Wähle oben eine Variante und schicke den Quelltext mit „Schritt“ oder ▶ durch die Stationen. Klicke eine Station an (oder Tab + Enter), um zu erfahren, was dort passiert.

Vom Quelltext zur Ausgabe

QuelltextHallo.java
Konsole

Halte fest: Ein Compilerfehler stoppt alles schon bei javac — es gibt keine .class-Datei. Ein Laufzeitfehler passiert erst in der JVM, nachdem die Übersetzung geklappt hat. Dieselbe .class-Datei läuft auf jedem Betriebssystem.

Merke

Vom Quelltext zur Ausgabe: Hallo.java → javac → Hallo.class → java Hallo → Ausgabe. Die Klasse heißt wie die Datei.

3

Allgemeine Hinweise

Dateiname = Klassenname

public class Hallo gehört in Hallo.java — auch die Groß- und Kleinschreibung muss stimmen.

Starten ohne Endung

Richtig ist java Hallo. Bei java Hallo.class meldet Java: Could not find or load main class Hallo.class.

Die erste Meldung zuerst

javac nennt Datei und Zeile, z. B. Hallo.java:3. Ein fehlendes Zeichen erzeugt oft Folgefehler — behebe immer zuerst die oberste Meldung.

Videos