Zum Inhalt springen
Java Anfänger 20 min

Dein erstes Java-Programm

Schreibe dein erstes richtiges Java-Programm mit Variablen, Benutzereingabe und Logik. Lerne die Grundlagen von System.out und Scanner.

Aktualisiert:

Dein erstes Java-Programm

Du hast Java installiert und IntelliJ IDEA eingerichtet — jetzt wird es Zeit, dein erstes richtiges Programm zu schreiben! In diesem Kapitel lernst du, wie du Text ausgibst, Benutzereingaben liest und einfache Berechnungen durchfuehrst.

Hallo Welt — aber richtig

Lass uns mit dem Klassiker starten und ihn dann erweitern:

public class MeinErstesProgramm {
    public static void main(String[] args) {
        System.out.println("Hallo Welt!");
        System.out.println("Ich lerne gerade Java!");
        System.out.println("Das macht Spass!");
    }
}

Ausgabe:

Hallo Welt!
Ich lerne gerade Java!
Das macht Spass!

Was passiert hier?

  • System.out.println() gibt Text auf der Konsole aus und macht einen Zeilenumbruch
  • System.out.print() gibt Text aus ohne Zeilenumbruch
  • Jede Anweisung endet mit einem Semikolon (;)
System.out.print("Hallo ");
System.out.print("Welt");
System.out.println("!"); // Zeilenumbruch am Ende
System.out.println("Neue Zeile");

Ausgabe:

Hallo Welt!
Neue Zeile

Variablen — Daten speichern

Variablen sind wie beschriftete Boxen, in denen du Werte speichern kannst:

public class Variablen {
    public static void main(String[] args) {
        // Variablen deklarieren und initialisieren
        String name = "Max";
        int alter = 25;
        double groesse = 1.82;
        boolean istStudent = true;

        // Ausgabe
        System.out.println("Name: " + name);
        System.out.println("Alter: " + alter);
        System.out.println("Groesse: " + groesse + " m");
        System.out.println("Student: " + istStudent);
    }
}

Ausgabe:

Name: Max
Alter: 25
Groesse: 1.82 m
Student: true

Mit var (seit Java 10)

Du kannst auch var verwenden — Java erkennt den Typ automatisch:

var name = "Max";       // Java erkennt: String
var alter = 25;         // Java erkennt: int
var groesse = 1.82;     // Java erkennt: double
var istStudent = true;  // Java erkennt: boolean

Vergleich mit Python

# Python: Kein Typ noetig
name = "Max"
alter = 25
// Java: Typ angeben oder var benutzen
String name = "Max";
var alter = 25;

In Java musst du den Typ festlegen — aber das schuetzt dich vor Fehlern!

String-Verknuepfung

Du kannst Texte und Variablen mit + verknuepfen:

var vorname = "Anna";
var nachname = "Mueller";
var alter = 30;

// String-Verknuepfung mit +
System.out.println("Name: " + vorname + " " + nachname);
System.out.println(vorname + " ist " + alter + " Jahre alt.");

Formatierte Ausgabe mit printf

Fuer komplexere Ausgaben gibt es printf:

var name = "Max";
var alter = 25;
var note = 1.7;

System.out.printf("Name: %s, Alter: %d, Note: %.1f%n", name, alter, note);

Ausgabe:

Name: Max, Alter: 25, Note: 1.7
PlatzhalterBedeutungBeispiel
%sString (Text)"Max"
%dint (Ganzzahl)25
%fdouble (Dezimalzahl)1.700000
%.1fdouble (1 Nachkommastelle)1.7
%.2fdouble (2 Nachkommastellen)1.70
%nZeilenumbruch

Benutzereingabe mit Scanner

Um Eingaben vom Benutzer zu lesen, brauchst du die Scanner-Klasse:

import java.util.Scanner;

public class Begruessung {
    public static void main(String[] args) {
        var scanner = new Scanner(System.in);

        System.out.print("Wie heisst du? ");
        var name = scanner.nextLine();

        System.out.print("Wie alt bist du? ");
        var alter = scanner.nextInt();

        System.out.println("Hallo " + name + "! Du bist " + alter + " Jahre alt.");

        scanner.close();
    }
}

Beispiel-Ablauf:

Wie heisst du? Max
Wie alt bist du? 25
Hallo Max! Du bist 25 Jahre alt.

Scanner-Methoden

MethodeLiestBeispiel
nextLine()Ganze Zeile (String)"Hallo Welt"
next()Ein Wort (String)"Hallo"
nextInt()Ganzzahl (int)42
nextDouble()Dezimalzahl (double)3.14
nextBoolean()Wahrheitswerttrue

Wichtig: Scanner richtig nutzen

import java.util.Scanner;

public class ScannerBeispiel {
    public static void main(String[] args) {
        var scanner = new Scanner(System.in);

        System.out.print("Dein Alter: ");
        var alter = scanner.nextInt();
        scanner.nextLine(); // Zeilenumbruch verbrauchen!

        System.out.print("Dein Name: ");
        var name = scanner.nextLine();

        System.out.printf("%s ist %d Jahre alt.%n", name, alter);
        scanner.close();
    }
}

Tipp: Nach nextInt() oder nextDouble() bleibt ein Zeilenumbruch im Puffer. Rufe danach scanner.nextLine() auf, um ihn zu verbrauchen.

Einfache Berechnungen

Java kann natuerlich auch rechnen:

public class Rechner {
    public static void main(String[] args) {
        var a = 10;
        var b = 3;

        System.out.println("Addition: " + (a + b));       // 13
        System.out.println("Subtraktion: " + (a - b));    // 7
        System.out.println("Multiplikation: " + (a * b)); // 30
        System.out.println("Division: " + (a / b));       // 3 (Ganzzahl!)
        System.out.println("Modulo: " + (a % b));         // 1
        System.out.println("Division (genau): " + ((double) a / b)); // 3.333...
    }
}

Achtung: 10 / 3 ergibt 3, nicht 3.333! Bei Ganzzahl-Division wird abgerundet. Fuer genaue Division brauchst du (double) — einen sogenannten Cast.

Ein komplettes Programm: BMI-Rechner

Lass uns alles zusammensetzen:

import java.util.Scanner;

public class BMIRechner {
    public static void main(String[] args) {
        var scanner = new Scanner(System.in);

        System.out.println("=== BMI-Rechner ===");
        System.out.println();

        System.out.print("Dein Gewicht in kg: ");
        var gewicht = scanner.nextDouble();

        System.out.print("Deine Groesse in Metern: ");
        var groesse = scanner.nextDouble();

        // BMI berechnen: Gewicht / (Groesse * Groesse)
        var bmi = gewicht / (groesse * groesse);

        System.out.println();
        System.out.printf("Dein BMI: %.1f%n", bmi);

        // Einfache Bewertung
        if (bmi < 18.5) {
            System.out.println("Kategorie: Untergewicht");
        } else if (bmi < 25) {
            System.out.println("Kategorie: Normalgewicht");
        } else if (bmi < 30) {
            System.out.println("Kategorie: Uebergewicht");
        } else {
            System.out.println("Kategorie: Adipositas");
        }

        scanner.close();
    }
}

Beispiel-Ablauf:

=== BMI-Rechner ===

Dein Gewicht in kg: 75
Deine Groesse in Metern: 1.80

Dein BMI: 23.1
Kategorie: Normalgewicht

Kommentare

Kommentare helfen dir und anderen, den Code zu verstehen:

// Einzeiliger Kommentar

/* Mehrzeiliger
   Kommentar */

/**
 * Javadoc-Kommentar
 * Wird fuer automatische Dokumentation genutzt
 * @param args Kommandozeilenargumente
 */
public static void main(String[] args) {
    // Hier kommt dein Code
}

Haeufige Anfaenger-Fehler

1. Semikolon vergessen

// FALSCH:
System.out.println("Hallo")  // Fehler!

// RICHTIG:
System.out.println("Hallo"); // Semikolon!

2. Gross-/Kleinschreibung

// FALSCH:
system.out.println("Hallo"); // 's' klein!
String Name = "Max";         // Funktioniert, aber Konvention: name

// RICHTIG:
System.out.println("Hallo"); // 'S' gross!
String name = "Max";         // camelCase!

3. Dateiname passt nicht zur Klasse

// Die Datei MUSS "HalloWelt.java" heissen!
public class HalloWelt {
    public static void main(String[] args) {
        System.out.println("Hallo!");
    }
}

4. Klammern nicht geschlossen

// FALSCH:
public class Test {
    public static void main(String[] args) {
        System.out.println("Hallo");
    }
// Fehlende schliessende Klammer fuer die Klasse!

// RICHTIG:
public class Test {
    public static void main(String[] args) {
        System.out.println("Hallo");
    }
}

Uebungen

Uebung 1: Steckbrief

Schreibe ein Programm, das deinen Namen, dein Alter, deine Lieblingsfarbe und dein Hobby auf der Konsole ausgibt. Verwende Variablen.

Uebung 2: Begruessung mit Eingabe

Schreibe ein Programm, das den Benutzer nach seinem Namen und Alter fragt und dann eine personalisierte Begruessung ausgibt.

Uebung 3: Temperatur-Rechner

Schreibe ein Programm, das eine Temperatur in Celsius einliest und in Fahrenheit umrechnet. Formel: F = C * 9/5 + 32

Uebung 4: Einkaufsrechner

Schreibe ein Programm, das den Preis eines Produkts und die Menge einliest und den Gesamtpreis (inklusive 19% MwSt.) berechnet und ausgibt.

Was kommt als Naechstes?

In der naechsten Lektion schauen wir uns die Grundstruktur eines Java-Programms genauer an. Du wirst verstehen, was public class, static, void und String[] args wirklich bedeuten.

Zusammenfassung

  • System.out.println() gibt Text aus (mit Zeilenumbruch)
  • System.out.printf() ermoeglicht formatierte Ausgabe mit Platzhaltern
  • Variablen speichern Daten mit einem festen Typ (String, int, double, boolean)
  • Mit var kann Java den Typ automatisch erkennen (Typinferenz)
  • Die Scanner-Klasse liest Benutzereingaben (nextLine(), nextInt(), nextDouble())
  • Kommentare (//, /* */, /** */) machen den Code verstaendlicher
  • Der Dateiname muss zum Klassennamen passen

Pro-Tipp: Nutze in IntelliJ die Abkuerzung sout + Tab, um schnell System.out.println() zu schreiben. Das spart enorm viel Tipparbeit! Und mit Ctrl + Shift + F10 kannst du die aktuelle Datei direkt ausfuehren, ohne vorher ein Run-Configuration anzulegen.

Zurück zum Java Kurs