logo

Priorita operátora Java

V tejto časti sa naučíme operátor prednosť v Jave spolu s príkladmi.

Čo je prednosť operátora?

The prednosť operátora predstavuje spojenie dvoch výrazov. Vo výraze určuje zoskupenie operátorov s operandmi a rozhoduje o tom, ako sa výraz vyhodnotí.

Pri riešení výrazu treba mať na pamäti dve veci, prvou je a prednosť a druhý je asociatívnosť .

Priorita operátora Java

Prednosť

Priorita je prioritou pri zoskupovaní rôznych typov operátorov s ich operandmi. Má význam iba vtedy, ak má výraz viac ako jeden operátor s vyššou alebo nižšou prioritou. Operátory s vyššou prioritou sa vyhodnocujú ako prvé. Ak chceme najprv vyhodnotiť operátory s nižšou prioritou, musíme operandy zoskupiť pomocou zátvoriek a potom ich vyhodnotiť.

Asociativita

Asociativitu musíme dodržiavať, ak má výraz viac ako dva operátory s rovnakou prioritou. V takom prípade sa dá vyriešiť aj výraz zľava doprava alebo zprava doľava, podľa toho.

Tabuľka priorít operátorov Java

Nasledujúca tabuľka popisuje prioritu a asociatívnosť operátorov používaných v Jave.

Prednosť Operátor Typ Asociativita
pätnásť ()
[]
·
Zátvorky
Dolný index poľa
Výber členov
Zľava doprava
14 ++
--
Unárny post-prírastok
Unárny post-dekrement
Zprava doľava
13 ++
--
+
-
!
~
(typ)
Unárny predprírastok
Unárny preddekrement
Unárne plus
Unárne mínus
Unárna logická negácia
Unárny bitový doplnok
Obsadenie unárneho typu
Zprava doľava
12 *
/
%
Násobenie
divízie
Modul
Zľava doprava
jedenásť +
-
Doplnenie
Odčítanie
Zľava doprava
10 <<
>>
>>>
Bitový posun doľava
Bitový posun doprava s rozšírením znamienka
Bitový posun doprava s nulovým rozšírením
Zľava doprava
9 <
<=
>
>=
instanceof
Relačné menej ako
Relačné menšie alebo rovné
Relačný väčší ako
Relačný väčší alebo rovný
Porovnanie typov (iba objekty)
Zľava doprava
8 ==
!=
Relačné sa rovná
Relačné sa nerovná
Zľava doprava
7 & Bitové AND Zľava doprava
6 ^ Bitové exkluzívne OR Zľava doprava
5 | Bitové vrátane ALEBO Zľava doprava
4 && Logické AND Zľava doprava
3 || Logické ALEBO Zľava doprava
2 ? : Ternárny podmienený Zprava doľava
1 =
+=
-=
*=
/=
%=
Pridelenie
Priradenie doplnku
Priradenie odčítania
Priradenie násobenia
Zadanie divízie
Priradenie modulu
Zprava doľava

Poznámka: Čím väčšie číslo, tým vyššia priorita.

Príklad priority operátora Java

Poďme pochopiť prednosť operátora prostredníctvom príkladu. Zvážte nasledujúci výraz a hádajte odpoveď.

 1 + 5 * 3 

Možno si myslíte, že odpoveď bude 18 ale nie tak. Pretože operátor násobenia (*) má vyššiu prioritu ako operátor sčítania (+). Preto výraz najprv vyhodnotí 5*3 a potom vyhodnotí zostávajúci výraz, t.j. 1+15. Preto bude odpoveď znieť 16 .

Pozrime sa na ďalší príklad. Zvážte nasledujúci výraz.

 x + y * z / k 

Vo vyššie uvedenom výraze sa operácie * a / vykonávajú pred znakom + z dôvodu priority. y sa vynásobí z pred delením k kvôli asociativite.