logo

Prednost Java operatora

U ovom odjeljku ćemo naučiti operater prednost u Javi zajedno s primjerima.

Što je prednost operatora?

The prednost operatora predstavlja kako su dva izraza povezana zajedno. U izrazu određuje grupiranje operatora s operandima i odlučuje kako će izraz procijeniti.

Prilikom rješavanja izraza moraju se imati na umu dvije stvari: prva je a prednost a drugo je asocijativnost .

print zvijezda uzorak
Prednost Java operatora

Prednost

Prioritet je prioritet za grupiranje različitih vrsta operatora s njihovim operandima. Ima smisla samo ako izraz ima više od jednog operatora s višim ili nižim prvenstvom. Prvi se procjenjuju operatori s višim prioritetom. Ako prvo želimo procijeniti operatore s nižim prioritetom, moramo grupirati operande pomoću zagrada i zatim procijeniti.

Asocijativnost

Moramo slijediti asocijativnost ako izraz ima više od dva operatora istog prvenstva. U takvom slučaju, izraz se može riješiti ili s lijeva nadesno ili s desna na lijevo, prema tome.

testiranje kompatibilnosti

Tablica prednosti Java operatora

Sljedeća tablica opisuje prvenstvo i asocijativnost operatora koji se koriste u Javi.

Prednost Operater Tip Asocijativnost
petnaest ()
[]
·
Zagrade
Indeks niza
Izbor članova
S lijeva nadesno
14 ++
--
Unarni postinkrement
Unarni postdekrement
S desna na lijevo
13 ++
--
+
-
!
~
(tip)
Unarni predprirast
Unarni preddekrement
Unarni plus
Unarni minus
Unarna logička negacija
Unarni bitni komplement
Unarni tip lijevanog
S desna na lijevo
12 *
/
%
Množenje
Podjela
Modul
S lijeva nadesno
jedanaest +
-
Dodatak
Oduzimanje
S lijeva nadesno
10 <<
>>
>>>
Pomak ulijevo po bitovima
Pomak udesno s predznakom
Pomak udesno po bitovima s nultom ekstenzijom
S lijeva nadesno
9 <
<=
>
>=
instanceof
Relacijski manje od
Relacijska manja ili jednaka
Relacijski veći od
Relacijski veći ili jednak
Usporedba tipa (samo objekti)
S lijeva nadesno
8 ==
!=
Relacijska je jednaka
Relacijska nije jednaka
S lijeva nadesno
7 i Bitno I S lijeva nadesno
6 ^ Bitno isključivi OR S lijeva nadesno
5 | Uključivo ILI po bitovima S lijeva nadesno
4 && Logično I S lijeva nadesno
3 || Logički ILI S lijeva nadesno
2 ? : Trojni kondicional S desna na lijevo
1 =
+=
-=
*=
/=
%=
Zadatak
Zadatak zbrajanja
Zadatak oduzimanja
Zadatak množenja
Dodjela podjele
Dodjela modula
S desna na lijevo

Napomena: Što je veći broj, veći je prioritet.

Primjer prednosti Java operatora

Razmotrimo prvenstvo operatora kroz primjer. Razmotrite sljedeći izraz i pogodite odgovor.

 1 + 5 * 3 

Možda mislite da bi odgovor bio 18 ali ne tako. Budući da operator množenja (*) ima veću prednost od operatora zbrajanja (+). Dakle, izraz prvo procjenjuje 5*3, a zatim procjenjuje preostali izraz, tj. 1+15. Stoga će odgovor biti 16 .

spavati u js

Pogledajmo još jedan primjer. Razmotrimo sljedeći izraz.

 x + y * z / k 

U gornjem izrazu, operacije * i / izvode se prije + zbog prioriteta. y se množi sa z prije nego što se podijeli s k zbog asocijativnosti.