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