Java – kifejezések, precedencia

Kifejezés, precedencia

Egy kifejezés operandusokból és operátorokból (műveletekből) áll.
A kifejezésben szerepelhet egy vagy több operandus, és bármelyik operandus lehet maga is egy kifejezés. Vannak egy-, kettő, ill. háromoperandusú operátorok.

  • unáris: !, sin, abszolútérték, gyök, ++, stb.
  • bináris: *, /, +, -, <, > !=, +=, stb.
  • ternális: ?:

Az operandus lehet:

  • változó
  • literál
  • függvényérték
  • kifejezés (zárójelben vagy anélkül)

például:
Java - operandus, precedencia

A kifejezések kiértékelési sorrendjét a zárójelek és az operátorok határozzák meg. A kiértékelés a következő szabályok szerint történik:

  1. Először a zárójelekben található kifejezések értékelődnek ki (belülről kifelé).
  2. Ezen belül előbb mindig a nagyobb prioritású művelet hajtódik végre.
  3. Ha a műveletek prioritása egyforma, akkor a művelet asszociativitásától függően jobbról balra (←) vagy balról jobbra (→) történik a kiértékelés.
prioritás operátor elnevezés asszociativitás
[]   .   [<param>]   ++   – – unáris postfix operátorok
++   – –   +   −   ∼   ! unáris prefix operátorok
new   (<típus>)   <kif> példányosítás, típuskényszerítés
*   /   % multiplikatív operátorok
+   − additív operátorok
<<   >>   >>> bitenkénti léptető operátorok
<   <=   >   >=   instanceof hasonlító operátorok
==   != egyenlőség-vizsgáló operátorok
& logikai/bitenkénti ÉS
^ logikai/bitenkénti KIZÁRÓ VAGY
| logikai/bitenkénti VAGY
&& logikai rövid ÉS
|| logikai rövid VAGY
?  : feltételes kiértékelés
−=   +=   *=   /=   %=   &=   
^=   |=   <<=   >>=   >>>=
értékadó operátorok