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)
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:
- Először a zárójelekben található kifejezések értékelődnek ki (belülről kifelé).
- Ezen belül előbb mindig a nagyobb prioritású művelet hajtódik végre.
- 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 | ← |