logo

Högsta prioritet i Java

När vi pratar om prioritet i Java kommer operatören först i åtanke. Det finns vissa regler definierade i Java för att specificera i vilken ordning operatorerna i ett uttryck utvärderas. Operatörsföreträde är ett koncept för att bestämma gruppen av termer i ett uttryck. Operatörsföreträdet ansvarar för att utvärdera uttrycken. I Java , parentes() och Array subscript[] har den högsta prioritet i Java. Till exempel har addition och subtraktion högre prioritet än operatörerna Vänsterskift och Högerskift.

Högsta prioritet i Java

Nedan är en tabell definierad där den lägsta prioritetsoperatorn visas överst i den.

Företräde Operatör Typ Associativitet
1) =
+=
-=
*=
/=
%=
Uppdrag
Tilläggsuppdrag
Subtraktionsuppgift
Multiplikationsuppgift
Avdelningsuppdrag
Moduluppgift
Höger till vänster
2) ? : Ternär villkorlig Höger till vänster
3) || Logisk ELLER Vänster till höger
4) && Logisk OCH Vänster till höger
5) | Bitvis inklusive ELLER Vänster till höger
6) ^ Bitvis exklusivt ELLER Vänster till höger
7) & Bitvis OCH Vänster till höger
8) !=
==
Relationellt är inte lika med
Relationellt är lika med
Vänster till höger
9) <
<=
>
>=
instans av
Relationellt mindre än
Relationellt mindre än eller lika
Relationellt större än
Relationellt större än eller lika
Typjämförelse (endast objekt)
Vänster till höger
10) >>
<<
>>>
Bitvis högerväxling med skyltförlängning
Bitvis vänsterväxling
Bitvis högerväxling med noll förlängning
Vänster till höger
elva) -
+
Subtraktion
Tillägg
Vänster till höger
12) *
/
%
Multiplikation
Division
Modul
Vänster till höger
13) -
+
~
!
(typ)
Unär minus
Unärt plus
Unärt bitvis komplement
Unär logisk negation
Unär typcast
Höger till vänster
14) ++
--
Enarlig efterökning
Enarlig efterdekrement
Höger till vänster
femton) ·
()
[]
Punktoperator
Parentes
Array subscript
Vänster till höger

Företrädesordning

När två operatörer delar en enskild operand, går den operatör som har högst företräde först. Till exempel behandlas x + y * z som x + (y * z), medan x * y + z behandlas som (x * y) + z eftersom * operatorn har högsta prioritet i jämförelse med operatorn +.

vad är const i java

Associativitet

Associativ är ett begrepp relaterat till de operatorer som används när två operatorer med samma prioritet kommer i ett uttryck. Associativitetskonceptet är mycket användbart för att gå från den situationen. Antag att vi har ett uttryck a + b - c (+ och - operatorer har samma prioritet) , och detta uttryck kommer att behandlas som (a + (b - c)) eftersom dessa operatorer är höger till vänster-associativa. Å andra sidan kommer a+++--b+c++ att behandlas som ((a++)+((--b)+(c++))) eftersom de unära efteröknings- och dekrementoperatorerna är rätt till vänster-associativa.

Ett exempel definieras nedan för att förstå hur ett uttryck utvärderas med hjälp av prioritetsordning och associativitet?

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

Lösning:

1) I uttrycket ovan är den högsta prioritetsoperatorn () . Så, parentesen går först och räknar först.

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

2) Nu, /, * och % operatörer har samma företräde och högst från + och - Här använder vi associativitetskonceptet för att lösa dem. De associativa för dessa operatorer är från vänster till höger. Så, / operatören går först och sedan * och % samtidigt.

x = 2 + 8 * 4 - 7 % 3

x = 2 + 32 - 7 % 3

python sorterad tuppel

x = 2 + 32 - 1

3) Nu, + och - Operatörer har båda också samma företräde, och associativiteten hos dessa operatorer inte till höger. Så, + operatören kommer att gå först och sedan - kommer att gå.

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); } } 

Produktion

java datum aktuellt
Högsta prioritet i Java