logo

Java-operatörsföreträde

I det här avsnittet kommer vi att lära oss operatör företräde i Java tillsammans med exempel.

Vad är operatörsföreträde?

De operatörsföreträde representerar hur två uttryck binds samman. I ett uttryck bestämmer den grupperingen av operatorer med operander och bestämmer hur ett uttryck ska utvärderas.

öppna inställningsmenyn

När du löser ett uttryck måste två saker hållas i åtanke, den första är a företräde och den andra är associativitet .

Java-operatörsföreträde

Företräde

Prioritet är prioritet för att gruppera olika typer av operatörer med deras operander. Det är bara meningsfullt om ett uttryck har mer än en operator med högre eller lägre prioritet. De operatörer som har högre prioritet utvärderas först. Om vi ​​först vill utvärdera operatorer med lägre prioritet måste vi gruppera operander med hjälp av parenteser och sedan utvärdera.

Associativitet

Vi måste följa associativitet om ett uttryck har fler än två operatorer med samma prioritet. I ett sådant fall kan ett uttryck lösas antingen vänster till höger eller höger till vänster, följaktligen.

Tabell för Java-operatörsprioritet

Följande tabell beskriver prioritet och associativitet för operatorer som används i Java.

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

Obs: Större desto högre prioritet.

Exempel på Java-operatörspreferens

Låt oss förstå operatörens företräde genom ett exempel. Betrakta följande uttryck och gissa svaret.

 1 + 5 * 3 

Du kanske tror att svaret skulle vara 18 men inte så. Eftersom multiplikationsoperatorn (*) har högre prioritet än additionsoperatorn (+). Följaktligen utvärderar uttrycket först 5*3 och utvärderar sedan det återstående uttrycket, dvs. 1+15. Därför blir svaret 16 .

Låt oss se ett annat exempel. Betrakta följande uttryck.

sträng i array c
 x + y * z / k 

I uttrycket ovan utförs * och / operationer före + på grund av prioritet. y multipliceras med z innan den divideras med k på grund av associativitet.