V tem razdelku se bomo naučili operater prednost v Javi skupaj s primeri.
a-b obrezovanje
Kaj je prednost operaterja?
The prednost operaterja predstavlja, kako sta dva izraza povezana skupaj. V izrazu določa združevanje operatorjev z operandi in odloča, kako bo izraz ovrednotil.
Pri reševanju izraza je treba upoštevati dve stvari, prva je a prednost in drugi je asociativnost .
Prednost
Prednost je prednostna naloga za združevanje različnih vrst operatorjev z njihovimi operandi. Smiselno je le, če ima izraz več kot en operator z višjo ali nižjo prednostjo. Najprej se ocenijo operaterji z višjo prednostjo. Če želimo najprej ovrednotiti operatorje z nižjo prednostjo, moramo operande združiti v skupine z uporabo oklepajev in nato ovrednotiti.
Asociativnost
Asociativnosti moramo slediti, če ima izraz več kot dva operatorja enake prednosti. V takem primeru je izraz mogoče rešiti bodisi od leve proti desni oz od desne proti levi, temu primerno.
nespremenljiv seznam
Tabela prednosti operaterjev Java
Naslednja tabela opisuje prednost in asociativnost operatorjev, ki se uporabljajo v Javi.
Prednost | Operater | Vrsta | Asociativnost |
---|---|---|---|
petnajst | () [] · | Oklepaji Indeks matrike Izbor članov | Od leve proti desni |
14 | ++ -- | Enarni postinkrement Enarni postdekrement | Od desne proti levi |
13 | ++ -- + - ! ~ (tip) | Enarni predprirastek Enarni preddekrement Enarni plus Enarni minus Enarna logična negacija Unarni bitni komplement Odlitek enobarvnega tipa | Od desne proti levi |
12 | * / % | Množenje Delitev Modul | Od leve proti desni |
enajst | + - | Dodatek Odštevanje | Od leve proti desni |
10 | << >> >>> | Bitni premik v levo Bitni premik v desno z razširitvijo predznaka Bitni premik v desno z ničelno razširitvijo | Od leve proti desni |
9 | < <= > >= instanceof=> | Relacijski manj kot Relacijski manj kot ali enako Relacijski večji od Relacijski večji ali enak Primerjava vrst (samo predmeti) | Od leve proti desni |
8 | == != | Relacijski je enak Relacijski ni enak | Od leve proti desni |
7 | & | Bitno IN | Od leve proti desni |
6 | ^ | Bitno izključujoč ALI | Od leve proti desni |
5 | | | Bitno vključujoč ALI | Od leve proti desni |
4 | && | Logični IN | Od leve proti desni |
3 | || | Logični ALI | Od leve proti desni |
2 | ? : | Ternarni pogojnik | Od desne proti levi |
1 | = += -= *= /= %= | Dodelitev Dodatna naloga Odštevanje naloga Naloga množenja Dodelitev delitve Dodelitev modula | Od desne proti levi |
Opomba: večje je število, večja je prednost.
Primer prednosti operaterja Java
Razumejmo prednost operatorja na primeru. Razmislite o naslednjem izrazu in uganite odgovor.
1 + 5 * 3
Morda mislite, da bi bil odgovor 18 ampak ne tako. Ker ima operator množenja (*) večjo prednost kot operator seštevanja (+). Zato izraz najprej ovrednoti 5*3 in nato ovrednoti preostali izraz, tj. 1+15. Zato bo odgovor 16 .
kdo je izumil šolo
Poglejmo še en primer. Razmislite o naslednjem izrazu.
x + y * z / k
V zgornjem izrazu se operaciji * in / izvajata pred + zaradi prednosti. y se zaradi asociativnosti pomnoži z z, preden se deli s k.