zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Ein Bewerber muss zwei Bedingungen erfüllen:

Antwort:

if (   college >= 4   &&   ( berufserfahrung   >= 2   ||    notendurchschnitt > 3.5  ) )

  System.out.println("Bewerber einladen");

else

  System.out.println("Bewerbung wieder in den Umlaufordner packen.");

Präzedenz logischer Operatoren

OperatorPriorität
!Hoch
&&Mittel
||Niedrig

Wir haben gesehen, dass mit && und || gemischte Ausdrücke, die Auswertung in der richtigen Reihenfolge durchgeführt werden muss. Klammern können verwendet werden, um Operanden mit ihren korrekten Operatoren zu gruppieren, genauso wie in der Arithmetik. Ebenfalls wie in der Arithmetik, haben logische Operatoren eine Präzedenz, die bestimmt in welcher Reihenfolge Dinge gruppiert werden, wenn es keine Klammern gibt.

In einem Ausdruck wird der Operator mit der höchsten Präzedenz mit seinen Operanden zuerst gruppiert. Dann wird der nächsthöchste Operator mit seinen Operanden gruppiert und so weiter. Gibt es mehrere logische Operatoren mit gleicher Präzedenz, erfolgt die Auswertung von links nach rechts.

Zum Beispiel angenommen, A, B, C und D sind relationale Ausdrücke (Dinge wie 23 > 90). Dann:

A || B && CbedeutetA || (B && C)
A && B || C && Dbedeutet(A && B) || (C && D)
A && B && C || Dbedeutet((A && B) && C) || D
!A && B || Cbedeutet((!A) && B) || C

Für Programmierer ist es üblich Klammern zu verwenden, um Operanden zu gruppieren und sich nicht auf die Präzedenz der logischen Operatoren zu verlassen.

FRAGE 16:

Wir fügen in dem Folgenden Klammern ein, um zu zeigen, wie die Präzedenz der Operatoren die Operanden gruppiert:

a > b && 45 <= sum || sum < a + b && d > 90