Der Befehl javac: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
== Der Befehl '''javac''' ==
Der Befehl '''javac''' ist der Java-Compiler.   
Der Befehl '''javac''' ist der Java-Compiler.   
Er übersetzt den geschriebenen Quellcode (Dateien *.java) in Bytecode (Dateien *.class), der später von der Java Virtual Machine ausgeführt wird.
Er übersetzt den geschriebenen Quellcode (Dateien *.java) in Bytecode (Dateien *.class), der später von der Java Virtual Machine ausgeführt wird.


=== Aufgabe des Compilers ===
== Aufgabe des Compilers ==
Der Compiler übernimmt folgende Schritte:
Der Compiler übernimmt folgende Schritte:


Zeile 12: Zeile 10:
* verhindert die Ausführung fehlerhafter Programme   
* verhindert die Ausführung fehlerhafter Programme   


=== Syntax von javac ===
== Syntax von javac ==
Grundbefehl:
Grundbefehl:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Zeile 21: Zeile 19:
* '''Dateiname.class'''
* '''Dateiname.class'''


=== Beispiel ===
== Beispiel ==
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
javac HelloWorld.java
javac HelloWorld.java
Zeile 29: Zeile 27:
* HelloWorld.class wird erzeugt
* HelloWorld.class wird erzeugt


=== Mehrere Dateien kompilieren ===
== Mehrere Dateien kompilieren ==
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
javac *.java
javac *.java
Zeile 39: Zeile 37:
</syntaxhighlight>
</syntaxhighlight>


=== Ausgabeordner festlegen (Option -d) ===
== Ausgabeordner festlegen (Option -d) ==
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
javac -d out Main.java
javac -d out Main.java
Zeile 46: Zeile 44:
Die erzeugten '''.class'''-Dateien liegen danach im Ordner '''out'''.
Die erzeugten '''.class'''-Dateien liegen danach im Ordner '''out'''.


=== Häufige Compilerfehler ===
== Häufige Compilerfehler ==
{| class="wikitable" style="width:100%; text-align:center;"
{| class="wikitable" style="width:100%; text-align:center;"
! Fehler
! Fehler
Zeile 64: Zeile 62:
|}
|}


=== Vorteile von javac ===
== Vorteile von javac ==
* Fehler werden vor der Ausführung erkannt   
* Fehler werden vor der Ausführung erkannt   
* optimierter Bytecode   
* optimierter Bytecode   
Zeile 70: Zeile 68:
* klare Trennung zwischen Quellcode (Java) und Ausführung (JVM)
* klare Trennung zwischen Quellcode (Java) und Ausführung (JVM)


=== Kurz gesagt ===
== Kurz gesagt ==
'''javac''' übersetzt Java-Quellcode in Bytecode.   
'''javac''' übersetzt Java-Quellcode in Bytecode.   
Ohne erfolgreiche Kompilierung kann ein Java-Programm nicht starten.
Ohne erfolgreiche Kompilierung kann ein Java-Programm nicht starten.

Aktuelle Version vom 12. Januar 2026, 13:37 Uhr

Der Befehl javac ist der Java-Compiler. Er übersetzt den geschriebenen Quellcode (Dateien *.java) in Bytecode (Dateien *.class), der später von der Java Virtual Machine ausgeführt wird.

Aufgabe des Compilers

Der Compiler übernimmt folgende Schritte:

  • prüft den Quellcode auf syntaktische Fehler
  • erzeugt Bytecode aus Java-Dateien
  • legt für jede Klasse eine eigene .class-Datei an
  • verhindert die Ausführung fehlerhafter Programme

Syntax von javac

Grundbefehl:

javac Dateiname.java

Erzeugt:

  • Dateiname.class

Beispiel

javac HelloWorld.java

Ergebnis:

  • HelloWorld.class wird erzeugt

Mehrere Dateien kompilieren

javac *.java

oder gezielt:

javac Main.java Datenbank.java Utils.java

Ausgabeordner festlegen (Option -d)

javac -d out Main.java

Die erzeugten .class-Dateien liegen danach im Ordner out.

Häufige Compilerfehler

Fehler Typische Ursache
cannot find symbol Variable, Methode oder Klasse existiert nicht / falsch geschrieben
class not found Dateiname stimmt nicht mit Klassenname überein
missing return statement Methode mit Rückgabewert enthält kein return
';' expected Semikolon am Ende einer Zeile fehlt

Vorteile von javac

  • Fehler werden vor der Ausführung erkannt
  • optimierter Bytecode
  • ermöglicht plattformunabhängige Programme
  • klare Trennung zwischen Quellcode (Java) und Ausführung (JVM)

Kurz gesagt

javac übersetzt Java-Quellcode in Bytecode. Ohne erfolgreiche Kompilierung kann ein Java-Programm nicht starten.