Šiame skyriuje mes išmoksime operatorius pirmenybė Java kartu su pavyzdžiais.
Kas yra operatoriaus pirmenybė?
The operatoriaus pirmenybė parodo, kaip dvi išraiškos yra susiejamos. Išraiškoje ji nustato operatorių grupavimą su operandais ir nusprendžia, kaip išraiška bus įvertinta.
knn
Sprendžiant išraišką reikia turėti omenyje du dalykus: pirmasis yra a pirmenybė o antrasis yra asociatyvumas .
Pirmenybė
Pirmenybė yra prioritetas grupuojant skirtingų tipų operatorius su jų operandais. Tai prasminga tik tuo atveju, jei išraiška turi daugiau nei vieną operatorių su didesne arba žemesne pirmenybe. Pirmiausia įvertinami operatoriai, turintys didesnį pirmumą. Jei norime pirmiausia įvertinti mažesnio prioriteto operatorius, turime operandus sugrupuoti naudodami skliaustus ir tada įvertinti.
Asociatyvumas
Turime vadovautis asociatyvumu, jei išraiška turi daugiau nei du tos pačios pirmenybės operatorius. Tokiu atveju galima išspręsti ir išraišką iš kairės į dešinę arba iš dešinės į kairę, atitinkamai.
„Java“ operatoriaus pirmumo lentelė
Šioje lentelėje aprašomas „Java“ naudojamų operatorių pirmumas ir asociatyvumas.
Pirmenybė | operatorius | Tipas | Asociatyvumas |
---|---|---|---|
penkiolika | () [] · | Skliausteliuose Masyvo indeksas Narių atranka | Iš kairės į dešinę |
14 | ++ -- | Uniras postprieaugis Unary post-decrement | Iš dešinės į kairę |
13 | ++ -- + - ! ~ (tipas) | Vienkartinis išankstinis prieaugis Unarinis išankstinis sumažinimas Vienetinis pliusas Vienetinis minusas Uniras loginis neigimas Vienareikšmis bitų papildymas Unary tipo liejinys | Iš dešinės į kairę |
12 | * / % | Daugyba Padalinys Modulis | Iš kairės į dešinę |
vienuolika | + - | Papildymas Atimtis | Iš kairės į dešinę |
10 | << >> >>> | Bitų poslinkis į kairę Bitų poslinkis į dešinę su ženklo plėtiniu Bitų poslinkis į dešinę su nuliniu išplėtimu | Iš kairės į dešinę |
9 | < <= > >= pavyzdys=> | Santykinis mažesnis nei Santykinis mažesnis arba lygus Santykinis didesnis nei Santykinis didesnis arba lygus Tipų palyginimas (tik objektai) | Iš kairės į dešinę |
8 | == != | Santykinis yra lygus Santykinis nelygu | Iš kairės į dešinę |
7 | & | Bitiškai IR | Iš kairės į dešinę |
6 | ^ | Bitiškai išskirtinis ARBA | Iš kairės į dešinę |
5 | | | Bitai imtinai ARBA | Iš kairės į dešinę |
4 | && | Logiška IR | Iš kairės į dešinę |
3 | || | Logiška ARBA | Iš kairės į dešinę |
2 | ? : | Trečias sąlyginis | Iš dešinės į kairę |
1 | = += -= *= /= %= | Užduotis Papildymo užduotis Atimties užduotis Daugybos užduotis Padalinio pavedimas Modulio užduotis | Iš dešinės į kairę |
Pastaba: kuo didesnis skaičius, tuo didesnis pirmumas.
„Java“ operatoriaus pirmumo pavyzdys
Supraskime operatoriaus pirmenybę per pavyzdį. Apsvarstykite šią išraišką ir atspėkite atsakymą.
1 + 5 * 3
Galbūt manote, kad atsakymas bus toks 18 bet ne taip. Kadangi daugybos (*) operatorius turi didesnį pirmumą nei sudėjimo (+) operatorius. Taigi, išraiška pirmiausia įvertina 5*3, o tada įvertina likusią išraišką, ty 1+15. Todėl atsakymas bus 16 .
Pažiūrėkime kitą pavyzdį. Apsvarstykite šią išraišką.
: Java
x + y * z / k
Aukščiau pateiktoje išraiškoje * ir / operacijos atliekamos prieš + dėl pirmenybės. y padauginamas iš z prieš padalijus iš k dėl asociatyvumo.