logo

Höchste Priorität in Java

Wenn wir in Java über Vorrang sprechen, denkt man zuerst an den Operator. In Java sind bestimmte Regeln definiert, um die Reihenfolge anzugeben, in der die Operatoren in einem Ausdruck ausgewertet werden. Vorrang des Operators ist ein Konzept zur Bestimmung der Gruppe von Begriffen in einem Ausdruck. Die Operatorpriorität ist für die Auswertung der Ausdrücke verantwortlich. In Java , Klammern() Und Array-Index[] haben in Java die höchste Priorität. Addition und Subtraktion haben beispielsweise eine höhere Priorität als die Linksverschiebungs- und Rechtsverschiebungsoperatoren.

Höchste Priorität in Java

Unten ist eine Tabelle definiert, in der der Operator mit der niedrigsten Priorität oben angezeigt wird.

Vorrang Operator Typ Assoziativität
1) =
+=
-=
*=
/=
%=
Abtretung
Zusatzaufgabe
Subtraktionsaufgabe
Multiplikationsaufgabe
Abteilungszuordnung
Modulzuordnung
Rechts nach links
2) ? : Ternäre Bedingung Rechts nach links
3) || Logisches ODER Links nach rechts
4) && Logisches UND Links nach rechts
5) | Bitweises inklusives ODER Links nach rechts
6) ^ Bitweises Exklusiv-ODER Links nach rechts
7) & Bitweises UND Links nach rechts
8) !=
==
Relational ist nicht gleich
Relational ist gleich
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
10) >>
<<
>>>
Bitweise Rechtsverschiebung mit Vorzeichenerweiterung
Bitweise Linksverschiebung
Bitweise Rechtsverschiebung ohne Erweiterung
Links nach rechts
elf) -
+
Subtraktion
Zusatz
Links nach rechts
12) *
/
%
Multiplikation
Aufteilung
Modul
Links nach rechts
13) -
+
~
!
( Typ)
Unäres Minus
Unäres Plus
Unäres bitweises Komplement
Unäre logische Negation
Unäre Typisierung
Rechts nach links
14) ++
--
Unäres Post-Inkrement
Unäres Postdekrement
Rechts nach links
fünfzehn) ·
()
[]
Punktoperator
Klammern
Array-Index
Links nach rechts

Rangfolge

Wenn zwei Operatoren einen einzigen Operanden teilen, hat der Operator mit der höchsten Priorität den Vorrang. Beispielsweise wird x + y * z als x + (y * z) behandelt, wohingegen x * y + z als (x * y) + z behandelt wird, da der *-Operator im Vergleich zum +-Operator die höchste Priorität hat.

Netzwerkschicht in Computernetzwerken

Assoziativität

Assoziativ ist ein Konzept, das sich auf die Operatoren bezieht, die angewendet werden, wenn zwei Operatoren mit derselben Priorität in einem Ausdruck vorkommen. Das Assoziativitätskonzept ist sehr hilfreich, um aus dieser Situation herauszukommen. Angenommen, wir haben einen Ausdruck a + b – c (+ und – Operatoren haben die gleiche Priorität) , und dieser Ausdruck wird behandelt als (a + (b - c)) weil diese Operatoren von rechts nach links assoziativ sind. Andererseits wird a+++--b+c++ behandelt als ((a++)+((--b)+(c++))) weil die unären Post-Inkrement- und Dekrement-Operatoren von rechts nach links assoziativ sind.

Im Folgenden wird ein Beispiel definiert, um zu verstehen, wie ein Ausdruck anhand der Rangfolge und der Assoziativität ausgewertet wird.

Ausdruck: x = 4 / 2 + 8 * 4 - ( 5+ 2 ) % 3

Lösung:

1) Im obigen Ausdruck ist der Operator mit der höchsten Priorität () . Die Klammer steht also an erster Stelle und wird zuerst berechnet.

mylivecricket in

x = 4 / 2 + 8 * 4 - 7 % 3

2) Nun, /, * Und % Operatoren haben die gleiche und höchste Priorität + Und - Hier verwenden wir das Assoziativitätskonzept, um sie zu lösen. Der Assoziativ dieser Operatoren verläuft von links nach rechts. Also, / Der Bediener geht zuerst und dann * Und % gleichzeitig.

x = 2 + 8 * 4 - 7 % 3

x = 2 + 32 - 7 % 3

x = 2 + 32 - 1

3) Nun, + Und - Beide Operatoren haben ebenfalls den gleichen Vorrang, und die Assoziativität dieser Operatoren ändert sich nicht nach rechts. Also, + Der Operator geht zuerst und dann - werde gehen.

Java-Nummer zum String

x = 34 - 1

x = 33

HighestPrecedence.java

 //import classes import java.util.*; //creating HighestPrecedence class to evaluate the expression public class HighestPrecedence { //main() method starts public static void main(String[] args) { //initialize variables with default values int x = 2; int y = 5; int z = 12; //calculating exp1, exp2, and exp3 int exp1 = x +(z/x+(z%y)*(z-x)^2); int exp2 = z/x+y*x-(y+x)%z; int exp3 = 4/2+8*4-(5+2)%3; //printing the result System.out.println(exp1); System.out.println(exp2); System.out.println(exp3); } } 

Ausgabe

Höchste Priorität in Java