Der Befehl java: Unterschied zwischen den Versionen

Aus FI-Wiki
Zeile 94: Zeile 94:


=== Kurz gesagt ===
=== Kurz gesagt ===
* '''javac''' erstellt die *.class*-Dateien   
* '''javac''' erstellt die '''.class'''-Dateien   
* '''java''' führt diese Bytecode-Dateien aus   
* '''java''' führt diese Bytecode-Dateien aus   
* der Klassenname wird ohne Endung angegeben   
* der Klassenname wird ohne Endung angegeben   
* die main-Methode ist der Startpunkt jedes Java-Programms
* die main-Methode ist der Startpunkt jedes Java-Programms

Version vom 15. Dezember 2025, 14:20 Uhr

Der Befehl java

Der Befehl java startet ein Java-Programm. Während javac den Quellcode kompiliert, führt java den erzeugten Bytecode aus (die .class-Dateien) über die Java Virtual Machine (JVM).

Aufgabe des Befehls java

  • lädt die JVM
  • sucht die angegebene Klasse
  • startet die main-Methode
  • führt den Bytecode aus

Ohne .class-Datei kann kein Java-Programm gestartet werden.

Syntax von java

Grundbefehl:

java Klassenname

Wichtig:

  • der Klassenname wird ohne .class angegeben
  • die Klasse muss eine gültige main-Methode besitzen

Beispiel

Kompilieren:

javac HelloWorld.java

Ausführen:

java HelloWorld

Ausgabe:

Hello World

Programme in Unterordnern ausführen (CLASSPATH)

Wenn die .class-Dateien in einem Ordner liegen:

java -cp out HelloWorld

Mehrere Ordner (Linux/macOS):

java -cp src:lib Main

Windows:

java -cp src;lib Main

Kommandozeilenargumente übergeben

Start:

java Main 42 Hallo

Im Java-Programm:

System.out.println(args[0]);  // 42
System.out.println(args[1]);  // Hallo

Häufige Fehler

Fehlermeldung Ursache
Could not find or load main class falscher Klassenname oder falscher Pfad
NoSuchMethodError: main main-Methode fehlt oder falsige Signatur
ClassNotFoundException CLASSPATH falsch gesetzt

Unterschied zwischen javac und java

Befehl Aufgabe
javac kompiliert Quellcode → erzeugt Bytecode (.class)
java führt Bytecode in der JVM aus

Kurz gesagt

  • javac erstellt die .class-Dateien
  • java führt diese Bytecode-Dateien aus
  • der Klassenname wird ohne Endung angegeben
  • die main-Methode ist der Startpunkt jedes Java-Programms