Appearance
Kapitel 3: Erstes Java-Programm im Detail
🎯 Lernziele
In diesem Kapitel lernst du:
- Den Ablauf vom Schreiben bis zum Ausführen eines Java-Programms
- Den Aufbau eines Java-Programms (Klassen, main-Methode, Ausgabe)
- Die Bedeutung jeder Zeile im "Hello World!" Programm
- Häufige Anfängerfehler und wie man sie vermeidet
3.1 Ablauf: Java-Programm schreiben, kompilieren, ausführen
🔄 Der komplette Ablauf (wichtig!)
1. Quellcode schreiben (.java Datei)
↓
2. Kompilieren (javac Befehl) → Erzeugt .class Datei (Bytecode)
↓
3. Ausführen (java Befehl) → JVM führt Bytecode aus
↓
4. Ausgabe im Terminal/Konsole📝 Schritt für Schritt (manuell ohne IDE)
Schritt 1: Quellcode schreiben
bash
# Erstelle eine Datei namens HelloWorld.java
# (mit einem beliebigen Texteditor wie Notepad, vim, nano)Inhalt der Datei:
java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}Schritt 2: Kompilieren
bash
javac HelloWorld.java
# Erzeugt: HelloWorld.class (Bytecode)Schritt 3: Ausführen
bash
java HelloWorld
# Ausgabe: Hello World!🤔 Was passiert im Hintergrund?
| Schritt | Befehl | Was passiert |
|---|---|---|
| Schreiben | Texteditor | .java Datei wird erstellt (Quellcode) |
| Kompilieren | javac | .java → .class (Bytecode, maschinenunabhängig) |
| Ausführen | java | JVM liest .class und führt es aus |
3.2 Klassen, Hauptmethode, Ausgabeanweisung erklärt
🏗️ Grundstruktur eines Java-Programms
java
public class HelloWorld { // 1. Klassendeklaration
public static void main(String[] args) { // 2. Hauptmethode (main)
System.out.println("Hello World!"); // 3. Ausgabe
}
}🔍 Zeile für Zeile erklärt
1. Klassendeklaration
java
public class HelloWorld {public: Zugriffmodifikator (öffentlich zugänglich)class: Schlüsselwort für eine KlasseHelloWorld: Name der Klasse (muss exakt mit Dateinamen übereinstimmen!){ }: Code-Block der Klasse
→ In Java ist alles in Klassen organisiert!
2. Hauptmethode (main)
java
public static void main(String[] args) {public: Öffentlich zugänglichstatic: Keine Objekterstellung nötig (Klassenmethode)void: Gibt keinen Wert zurückmain: Name der Methode (Einstiegspunkt!)String[] args: Parameter (Kommandozeilenargumente){ }: Code-Block der Methode
→ Die main-Methode ist der Startpunkt jedes Java-Programms!
3. Ausgabeanweisung
java
System.out.println("Hello World!");System: Klasse aus der Java-Standardbibliothekout: Statisches Attribut (Ausgabestrom)println(): Methode zum Ausgeben einer Zeile (mit Zeilenumbruch)"Hello World!": String-Parameter (Text in Anführungszeichen);: Semikolon (Befehlsende in Java!)
→ println() gibt Text in der Konsole aus!
🆚 println() vs print()
java
System.out.print("Hallo ");
System.out.print("Welt!");
// Ausgabe: Hallo Welt! (in einer Zeile)
System.out.println("Hallo ");
System.out.println("Welt!");
// Ausgabe:
// Hallo
// Welt!3.3 Grundstruktur eines Java-Programms
📐 Standard-Template für alle Java-Programme
java
// 1. (Optional) Package-Deklaration
package com.beispiel;
// 2. (Optional) Import-Anweisungen
import java.util.Scanner;
// 3. Klassendeklaration
public class KlassenName {
// 4. Hauptmethode (Einstiegspunkt)
public static void main(String[] args) {
// 5. Dein Code hier!
System.out.println("Mein Programm!");
}
// 6. (Optional) Weitere Methoden
public static void meineMethode() {
// ...
}
}📋 Die wichtigsten Bestandteile
| Bestandteil | Erklärung | Pflicht? |
|---|---|---|
| Package | Paket (Ordnerstruktur) | Nein (aber empfohlen) |
| Import | Einfügen anderer Klassen | Nur wenn benötigt |
| Klasse | Container für Code | Ja! |
| main-Methode | Einstiegspunkt | Ja! (für ausführbare Programme) |
| Code | Deine Anweisungen | Ja! |
3.4 Häufige Anfängerfehler (Groß-/Kleinschreibung, Semikolon, Dateinamen)
❌ Fehler 1: Groß-/Kleinschreibung (Case Sensitivity)
Falsch:
java
Public class HelloWorld { // 'Public' statt 'public'
public static void Main(String[] args) { // 'Main' statt 'main'Richtig:
java
public class HelloWorld {
public static void main(String[] args) {→ Java ist case-sensitive! main ≠ Main
❌ Fehler 2: Semikolon vergessen
Falsch:
java
System.out.println("Hello World!") // Kein Semikolon!Richtig:
java
System.out.println("Hello World!"); // Semikolon am Ende→ Jede Anweisung in Java muss mit ; enden!
❌ Fehler 3: Dateiname stimmt nicht mit Klassennamen überein
Falsch:
- Datei:
Helloworld.java(kleines 'w') - Code:
public class HelloWorld {(großes 'W')
Richtig:
- Datei:
HelloWorld.java - Code:
public class HelloWorld {
→ Bei öffentlichen Klassen muss der Dateiname exakt mit dem Klassennamen übereinstimmen!
❌ Fehler 4: Geschweifte Klammern nicht geschlossen
Falsch:
java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
// } ← Fehlt!
}Richtig:
java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
} // ← Geschlossen!
}❌ Fehler 5: Anführungszeichen nicht geschlossen
Falsch:
java
System.out.println("Hello World!); // Fehlendes "Richtig:
java
System.out.println("Hello World!"); // Korrekt geschlossen🛠️ Fehlersuche: Typische Fehlermeldungen verstehen
| Fehlermeldung | Bedeutung | Lösung |
|---|---|---|
error: class HelloWorld is public, should be declared in a file named HelloWorld.java | Dateiname passt nicht zum Klassennamen | Datei umbenennen! |
error: ';' expected | Semikolon fehlt | Semikolon hinzufügen |
error: cannot find symbol | Tippfehler oder Variable nicht deklariert | Überprüfe Schreibweise |
Exception in thread "main" java.lang.NoSuchMethodError: main | Keine main-Methode gefunden | main-Methode hinzufügen |
📝 Zusammenfassung
In diesem Kapitel hast du gelernt:
- ✅ Den Ablauf: Schreiben → Kompilieren → Ausführen
- ✅ Aufbau eines Java-Programms (Klasse, main-Methode, Ausgabe)
- ✅ Bedeutung jeder Zeile im "Hello World!" Programm
- ✅ Häufige Anfängerfehler und deren Lösungen
💡 Merksatz für Anfänger
"Jede öffentliche Klasse braucht eine eigene Datei, jedes Statement braucht ein Semikolon, und die
main-Methode ist der Eintrittspunkt!"
🎯 Nächste Schritte
Im nächsten Kapitel lernst du:
- Variablen und Datentypen (Kapitel 4)
- Wie man Daten speichert und verarbeitet
- Die verschiedenen Datentypen in Java
Bereit für mehr? Los geht's! 🚀
📚 Weiterführende Links:
💬 Fragen?
Hinterlasse einen Kommentar!
