logo

Vorrang des Java-Operators

In diesem Abschnitt lernen wir das Operator Vorrang in Java zusammen mit Beispielen.

Was ist Operatorpriorität?

Der Vorrang des Operators stellt dar, wie zwei Ausdrücke miteinander verbunden sind. In einem Ausdruck bestimmt es die Gruppierung von Operatoren mit Operanden und entscheidet, wie ein Ausdruck ausgewertet wird.

Beim Lösen eines Ausdrucks müssen zwei Dinge beachtet werden: Das erste ist a Vorrang und das zweite ist Assoziativität .

Vorrang des Java-Operators

Vorrang

Vorrang ist die Priorität für die Gruppierung verschiedener Operatortypen mit ihren Operanden. Dies ist nur dann sinnvoll, wenn ein Ausdruck mehr als einen Operator mit höherer oder niedrigerer Priorität hat. Die Operatoren mit höherer Priorität werden zuerst ausgewertet. Wenn wir zuerst Operatoren mit niedrigerer Priorität auswerten möchten, müssen wir Operanden mithilfe von Klammern gruppieren und dann auswerten.

Assoziativität

Wir müssen der Assoziativität folgen, wenn ein Ausdruck mehr als zwei Operatoren mit derselben Priorität hat. In einem solchen Fall kann ein Ausdruck entweder gelöst werden links nach rechts oder rechts nach links, entsprechend.

Prioritätstabelle für Java-Operatoren

Die folgende Tabelle beschreibt die Rangfolge und Assoziativität der in Java verwendeten Operatoren.

Ubuntu welcher Befehl
Vorrang Operator Typ Assoziativität
fünfzehn ()
[]
·
Klammern
Array-Index
Auswahl der Mitglieder
Links nach rechts
14 ++
--
Unäres Post-Inkrement
Unäres Postdekrement
Rechts nach links
13 ++
--
+
-
!
~
(Typ)
Unäres Vorinkrement
Unäres Vordekrement
Unäres Plus
Unäres Minus
Unäre logische Negation
Unäres bitweises Komplement
Unäre Typumwandlung
Rechts nach links
12 *
/
%
Multiplikation
Aufteilung
Modul
Links nach rechts
elf +
-
Zusatz
Subtraktion
Links nach rechts
10 <<
>>
>>>
Bitweise Linksverschiebung
Bitweise Rechtsverschiebung mit Vorzeichenerweiterung
Bitweise Rechtsverschiebung ohne Erweiterung
Links nach rechts
9 <
<=
>
>=
Instanz von
Relational weniger als
Relational kleiner oder gleich
Relational größer als
Relational größer oder gleich
Typvergleich (nur Objekte)
Links nach rechts
8 ==
!=
Relational ist gleich
Relational ist nicht gleich
Links nach rechts
7 & Bitweises UND Links nach rechts
6 ^ Bitweises Exklusiv-ODER Links nach rechts
5 | Bitweises inklusives ODER Links nach rechts
4 && Logisches UND Links nach rechts
3 || Logisches ODER Links nach rechts
2 ? : Ternäre Bedingung Rechts nach links
1 =
+=
-=
*=
/=
%=
Abtretung
Zusatzaufgabe
Subtraktionsaufgabe
Multiplikationsaufgabe
Abteilungszuordnung
Modulzuordnung
Rechts nach links

Hinweis: Je größer die Zahl, desto höher die Priorität.

Beispiel für die Rangfolge von Java-Operatoren

Lassen Sie uns die Operatorpriorität anhand eines Beispiels verstehen. Betrachten Sie den folgenden Ausdruck und erraten Sie die Antwort.

 1 + 5 * 3 

Sie denken vielleicht, dass die Antwort lauten würde 18 aber nicht so. Weil der Multiplikationsoperator (*) eine höhere Priorität hat als der Additionsoperator (+). Daher wertet der Ausdruck zuerst 5*3 aus und wertet dann den verbleibenden Ausdruck aus, d. h. 1+15. Daher wird die Antwort sein 16 .

Sehen wir uns ein weiteres Beispiel an. Betrachten Sie den folgenden Ausdruck.

 x + y * z / k 

Im obigen Ausdruck werden *- und /-Operationen aus Prioritätsgründen vor + ausgeführt. Aufgrund der Assoziativität wird y mit z multipliziert, bevor es durch k dividiert wird.