logo

Priorita operátora Java

V této části se naučíme operátor přednost v Javě spolu s příklady.

Co je priorita operátora?

The přednost operátora představuje, jak jsou dva výrazy spojeny dohromady. Ve výrazu určuje seskupení operátorů s operandy a rozhoduje o tom, jak bude výraz vyhodnocen.

rovná se řetězec v jazyce Java

Při řešení výrazu je třeba mít na paměti dvě věci, první je a přednost a druhý je asociativnost .

Priorita operátora Java

Přednost

Priorita je prioritou pro seskupování různých typů operátorů s jejich operandy. Má smysl pouze v případě, že výraz má více než jeden operátor s vyšší nebo nižší prioritou. Operátory s vyšší prioritou jsou vyhodnoceny jako první. Pokud chceme nejprve vyhodnotit operátory s nižší prioritou, musíme operandy seskupit pomocí závorek a poté vyhodnotit.

Asociativnost

Pokud má výraz více než dva operátory se stejnou prioritou, musíme dodržovat asociativitu. V takovém případě lze vyřešit buď výraz zleva do prava nebo zprava doleva, podle toho.

Tabulka priorit operátorů Java

Následující tabulka popisuje prioritu a asociativitu operátorů používaných v Javě.

Přednost Operátor Typ Asociativnost
patnáct ()
[]
·
Závorky
Pole dolní index
Výběr členů
Zleva do prava
14 ++
--
Unární post-přírůstek
Unární post-dekrementace
Zprava doleva
13 ++
--
+
-
!
~
(typ)
Unární předpřírůstek
Unární předdekrement
Unární plus
Unární mínus
Unární logická negace
Unární bitový doplněk
Obsazení unárního typu
Zprava doleva
12 *
/
%
Násobení
Divize
Modul
Zleva do prava
jedenáct +
-
Přidání
Odčítání
Zleva do prava
10 <<
>>
>>>
Bitový posun doleva
Bitový posun doprava s rozšířením znaménka
Bitový posun doprava s nulovým rozšířením
Zleva do prava
9 <
<=
>
>=
instanceof
Relační méně než
Relační menší nebo rovno
Relační větší než
Relační větší nebo rovno
Porovnání typů (pouze objekty)
Zleva do prava
8 ==
!=
Relační se rovná
Relační se nerovná
Zleva do prava
7 & Bitové AND Zleva do prava
6 ^ Bitově exkluzivní OR Zleva do prava
5 | Bitově včetně OR Zleva do prava
4 && Logické AND Zleva do prava
3 || Logické NEBO Zleva do prava
2 ? : Ternární podmíněný Zprava doleva
1 =
+=
-=
*=
/=
%=
Úkol
Zadání sčítání
Odečítání zadání
Přiřazení násobení
Zadání divize
Přiřazení modulu
Zprava doleva

Poznámka: Čím větší číslo, tím vyšší priorita.

Příklad přednosti operátora Java

Pojďme pochopit prioritu operátorů na příkladu. Zvažte následující výraz a hádejte odpověď.

 1 + 5 * 3 

Možná si říkáte, že odpověď bude 18 ale ne tak. Protože operátor násobení (*) má vyšší prioritu než operátor sčítání (+). Výraz tedy nejprve vyhodnotí 5*3 a poté vyhodnotí zbývající výraz, tj. 1+15. Proto bude odpověď znít 16 .

Podívejme se na další příklad. Zvažte následující výraz.

skryté aplikace
 x + y * z / k 

Ve výše uvedeném výrazu se operace * a / provádějí před + kvůli prioritě. y je násobeno z, než je děleno k kvůli asociativitě.