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 .
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ě.