If-Anweisung in Java

If-Anweisung und IF-Else Verschachtelungen

Navigation:

Die If-Anweisung dient dazu einen Ausdruck auszuwerten und je nach Ergebnis weiter zu verfahren. Der Ausdruck muss dabei einen Wert vom Datentyp boolean haben. Um If-Anweisungen wird man im kaum einem Programm herumkommen. Das simple Konzept ist sehr mächtig und kann in den unterschiedlichsten Situationen eingesetzt werden.

If-Anweisung Syntax

Nachfolgend die Syntax einer if-Anweisung, sowie Struktogramm einer if-Anweisung.

if (Bedingung) {
	// Weitere Operationen
}
Struktogramm einer if-Anweisung

If-Anweisung Beispiel

Nun noch ein konkretes Beispiel zu der If-Anweisung. Im nachfolgenden Codestück soll überprüft werden ob die Integer Variable var den Wert 3 besitzt. Gibt diese Anweisung ein true zurück, was im Beispiel der Fall ist, dann wird „Hello World!“ auf dem Bildschirm ausgegeben.


int var=3;
if (var==3) {
	System.out.println("Hello World!");
}

Anmerkung: In diesem Fall wurde die Variable in der If-Anweisung also erst einmal auf Gleichheit zu einem bestimmten Wert geprüft. Da dies ein Integer-Wert war, konnte die Gleichheit mit dem Operator == geprüft werden. Bei einem String würde das nicht ohne weiteres funktionieren. Hier sollte man auf die equals-Funktion zurückgreifen.

Es können auch Bedingungen verknüpft werden, z.B. durch eine UND-Verknüpfung (&&) oder eine ODER-Verknüpfung (||), siehe nachfolgendes Beispiel, bei dem kein „Hello World!“ ausgegeben wird, da zwar var1=3 aber var2 nicht 4 ist. Durch die UND-Verknüpfung müssen aber beide Bedingungen ein „Wahr“-zurückgeben.


int var1=3;
int var2=3;
if (var1==3 && var2==4) {
	System.out.println("Hello World!");
}

If-Else Konstrukt

Nun kann es sein, dass falls die Anweisung in der If-Bedinung nicht ein „wahr“ ergibt, man dennoch entsprechend verfahren möchte. Deshalb gibt es das If-Else-Konstrukt. Gibt die if-Bedingung ein false (also nicht wahr) zurück, dann werden anstatt der Befehle die in den Klammern hinter der if-Bedinung stehen die Befehle die nach else kommen ausgeführt. Man könnte das Konstrukt mit entweder-oder übersetzen. Entweder die If-Bedingung stimmt und ich mache folgendes oder die if-Bedingung stimmt nicht und ich mache das andere hinter else. Nie werden aber beide Befehle die in von If und von Else umfasst werden ausgeführt.

Nachfolgend die Syntax einer if-else-Anweisung, sowie Struktogramm einer if-else-Anweisung.


if (Bedingung) {
	// Anweisung
} else {
	// Andere Anweisungen
}
Struktogramm einer if-else-Anweisung

Mit if-else Anweisungen kann man seinen Code weiter verzweigen, in dem man einfach mehrere if-elsen-Anweisungen nacheinander schreibt:


if (Bedingung) {
	// Anweisung
} else if (Bedingung2) {
	// Andere Anweisungen
} else {
	// Noch einmal andere Anweisungen
}

Ebenfalls sind verschachtelte if-else-Anweisungen möglich, in dem im else-Zweig beispielsweise noch einmal eine if-Anweisung erscheint:


if (Bedingung) {
	// Anweisung
} else if (Bedingung2) {
	if (Bedingung3) {
		// Andere Anweisungen
	}
}