Logische Operatoren
Es gibt mehrere binäre logische Operatoren und einen unären. Die Argumente für alle diese Operatoren sind logische Literale (Konstanten), logische Variablen und Ausdrücke, die einen logischen Wert haben.
Betreiber:
!
- „Negation“, ein unärer Operator, ändert die Bedeutung ins Gegenteil (umkehrt: verwandelt eine Lüge in Wahrheit und verwandelt die Wahrheit in eine Lüge).
&&
- Logisches „und“ („Konjunktion“, „Schnittpunkt“), eine binäre Operation, gibt genau dann wahr zurück, wenn beide Operanden wahr sind.
||
- Logisches „Oder“ („Disjunktion“, „Vereinigung“), binäre Operation, gibt den wahren Wert zurück, wenn mindestens einer der Operanden wahr ist.
Logische Operatoren haben folgende Priorität: Negation, Konjunktion, Disjunktion. Genau wie bei arithmetischen Operatoren werden Klammern verwendet, um die Rangfolge zu korrigieren. Wenn ein Klammerpaar in einem anderen Klammerpaar verschachtelt ist, wird zuerst der Wert in der inneren Klammer ausgewertet. Beispiele:
boolean a = true;
boolean b;
b = a || true;
b = !b;
System.out.println(b);
a = a || b;
boolean c;
c = a && (a||b);
System.out.println(c);
In Java können boolesche und numerische Typen nicht ineinander konvertiert werden.
Vergleichsoperatoren
Die meisten Vergleichsoperatoren gelten für numerische Werte. Dies sind alles binäre Operatoren, die zwei numerische Argumente haben, aber einen booleschen Wert zurückgeben.
>
– der „mehr als“-Operator.
>=
– „größer-gleich“-Operator.
<
— „Kleiner als“-Operator.
<=
– „Kleiner-gleich“-Operator.
!=
— „ungleich“-Operator.
==
— Äquivalenzoperator (Gleichheitsoperator).
Die letzten beiden Operatoren können nicht nur für numerische Werte verwendet werden, sondern beispielsweise auch für logische. Beispiele:
boolean m;
m = 5 >= 4;
m = 5 != 5 || false;
boolean w;
w = m == false;
System.out.println(w);
Es ist sehr wichtig, den Äquivalenzoperator nicht mit dem Zuweisungsoperator zu verwechseln. In Ausdrücken, die Operatoren unterschiedlichen Typs enthalten, werden zuerst arithmetische Operationen, dann Vergleichsoperationen, dann logische Operationen und zuletzt Zuweisungen ausgeführt.
Bedingte if-Anweisung
Der Operator
if
sorgt dafür, dass eine Anweisung abhängig von einer vorgegebenen logischen Bedingung ausgeführt oder übersprungen wird. Wenn die Bedingung wahr ist, wird
die Anweisung ausgeführt.
if (Zustand) инструкция;
Anstelle einer Anweisung kann entweder eine reguläre Anweisung (ein Befehl) oder eine zusammengesetzte Anweisung (ein Block mit mehreren Befehlen, einschließlich anderer bedingter Anweisungen) stehen. Beispiele (wenn Null als Variablenwert angegeben ist, wird keine Division durchgeführt und das Ergebnis wird nicht auf dem Bildschirm angezeigt):
int a = 25;
if (a != 0) System.out.println( 100/a );
int b = 25;
if (b != 0) {
System.out.println( 100/b );
}
Obwohl der Code im ersten Beispiel kompakter aussieht, wäre es nur im zweiten Beispiel möglich, mehrere Anweisungen auszuführen, wenn die Bedingung wahr ist. Der Operator
if
hat ein Format mit einem zusätzlichen Teil
else
:
if (Zustand)
инструкция1;
else
инструкция2;
Wenn
die Bedingung wahr ist , wird eine einfache oder zusammengesetzte
Anweisung1 ausgeführt , und wenn die Bedingung falsch ist, wird eine einfache oder zusammengesetzte
Anweisung2 ausgeführt . Beispiel:
int a = 0;
if (a != 0) System.out.println( 100/a );
else System.out.println("На нуль делить нельзя");
GO TO FULL VERSION