logo

Najvyššia priorita v Jave

Keď hovoríme o prednosti v Jave, na prvom mieste je operátor. V jazyku Java sú definované určité pravidlá na určenie poradia, v ktorom sa operátory vo výraze vyhodnocujú. Prednosť operátora je koncept určenia skupiny termínov vo výraze. Priorita operátora je zodpovedná za vyhodnotenie výrazov. In Java , zátvorky() a Dolný index poľa[] majú najvyššiu prioritu v Jave. Napríklad sčítanie a odčítanie majú vyššiu prioritu ako operátory posunu vľavo a vpravo.

Najvyššia priorita v Jave

Nižšie je definovaná tabuľka, v ktorej sa v hornej časti zobrazuje operátor s najnižšou prioritou.

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

Prednostné poradie

Keď dvaja operátori zdieľajú jeden operand, operátor s najvyššou prioritou je na prvom mieste. Napríklad x + y * z sa považuje za x + (y * z), zatiaľ čo x * y + z sa považuje za (x * y) + z, pretože operátor * má najvyššiu prioritu v porovnaní s operátorom +.

skratka všetkých veľkých písmen excel

Asociativita

Asociatívne je koncept súvisiaci s operátormi, ktoré sa používajú, keď do výrazu prichádzajú dva operátory s rovnakou prioritou. Koncepcia asociatívnosti je veľmi užitočná, ak vychádzame z tejto situácie. Predpokladajme, že máme výraz a + b - c (operátory + a - majú rovnakú prioritu) a s týmto výrazom sa bude zaobchádzať ako s (a + (b - c)) pretože tieto operátory sú asociatívne sprava doľava. Na druhej strane, a+++--b+c++ sa bude považovať za ((a++)+((--b)+(c++))) pretože unárne operátory po prírastku a znižovaní sú asociatívne sprava doľava.

Nižšie je definovaný príklad, aby ste pochopili, ako sa výraz vyhodnocuje pomocou poradia priority a asociatívnosti?

Výraz: x = 4 / 2 + 8 * 4 - ( 5 + 2 ) % 3

Riešenie:

1) Vo vyššie uvedenom výraze je operátor s najvyššou prioritou () . Takže zátvorka ide ako prvá a počíta ako prvá.

pridanie java do poľa

x = 4 / 2 + 8 * 4 - 7 % 3

2) Teraz, /, * a % operátori majú rovnakú prioritu a najvyššie z + a - Na ich riešenie tu používame koncept asociativity. Asociatívy týchto operátorov sú zľava doprava. takže, / operátor ide najprv a potom * a % súčasne.

x = 2 + 8 * 4 - 7 % 3

x = 2 + 32 - 7 % 3

x = 2 + 32 - 1

3) Teraz, + a - operátory majú tiež rovnakú prednosť a asociatívnosť týchto operátorov smerom doprava. takže, + operátor pôjde najprv a potom - pôjde.

java do while príklad

x = 34 - 1

x = 33

HighestPrecedence.java

 //import classes import java.util.*; //creating HighestPrecedence class to evaluate the expression public class HighestPrecedence { //main() method starts public static void main(String[] args) { //initialize variables with default values int x = 2; int y = 5; int z = 12; //calculating exp1, exp2, and exp3 int exp1 = x +(z/x+(z%y)*(z-x)^2); int exp2 = z/x+y*x-(y+x)%z; int exp3 = 4/2+8*4-(5+2)%3; //printing the result System.out.println(exp1); System.out.println(exp2); System.out.println(exp3); } } 

Výkon

Najvyššia priorita v Jave