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