class HelloWorld {


    public static void main(String[] args) {

        // Variablen: Namen für "Marken",
        // hinter denen Nutzdaten im Speicher 
        // stehen.
        // Java ist eine GETYPTE Programmiersprache:
        // Jede Variable muss einen DATENTYP haben.
        // Die Einführung von Variablen nennt man
        // Deklaration.

        // Basisdatentypen
	int x; // 32-Bit Integer
        long w; // 64-Bit Integer.
        float a1; // Durch 32Bit codierte Zahl aus Q
        double a2; // 64Bit Zahlen aus Q
        boolean b;


        // Ausgabeanweisung
	System.out.println("HELLO WORLD");

        // Zuweisung: Speichere den Wert der rechten
        // Seite von = am Speicherplatz der Variablen,
        // die auf der linken Seite angegeben ist.
        x = 5;

        // Rechts vom = stehen AUSDRÜCKE (EXPRESSIONS)
        // Forderung: Ausdrucke muessen ein 
        // Ergebnis bringen, welches mit dem Typ
        // der in der Zuweisung verwendeten Variablen
        // kompatibel ist.
        // Ausdrücke setzen sich aus Variablen (allg. 
        // Referenzen), Konstanten (Literale) und
        // Operatoren zusammen.
        w = x + 3;


        // Kontrollstrukturen:Anweisungen, die
        // aus elementaren Programmstuecken (zB
        // eine Zuweisung) komplexere zusammen
        // setzen.
        //    - Sequenz   ;
        //    - if-else
        //    - while

        x = 5;
        w = x + 3;

        // if hängt von der logischen Bed.
        // in () ab
        if ( w > x ) {
	    // wird ausgefuehrt, wenn
            // w > x zu TRUE auswertet.
	    w = 0;
	}
        else {
            // wird ausgefuehrt, wenn 
            // w > x zu FALSE auswertet
            x = 0;
	}


        // der while-Block { w = w + 2; }
        // wird so oft wiederholt, wie
        // die while-Bedingung (w < x)
        // zu TRUE auswertet.
	while ( w < x ) {

	    w = w+2;

	}


    }



}

