logo

Java-operaattorin etusija

Tässä osiossa opimme operaattori etusija Javassa esimerkkien kanssa.

ipconfig ubuntulle

Mikä on operaattorin etusija?

The operaattorin etusijalla edustaa kuinka kaksi lauseketta on sidottu yhteen. Lausekkeessa se määrittää operaattoreiden ryhmittelyn operandien kanssa ja päättää kuinka lauseke arvioi.

Lauseketta ratkaistaessa on pidettävä mielessä kaksi asiaa, joista ensimmäinen on a etusijalla ja toinen on assosiatiivisuus .

Java-operaattorin etusija

Ensisijaisuus

Ensisijaisuus on prioriteetti ryhmiteltäessä erityyppisiä operaattoreita niiden operandien kanssa. Sillä on merkitystä vain, jos lausekkeessa on useampi kuin yksi operaattori, jolla on suurempi tai pienempi prioriteetti. Ensin arvioidaan operaattorit, joilla on korkeampi etuoikeus. Jos haluamme arvioida ensin alhaisemman prioriteetin operaattorit, meidän on ryhmiteltävä operandit sulkujen avulla ja arvioitava sitten.

Assosiatiivisuus

Meidän on noudatettava assosiatiivisuutta, jos lausekkeella on enemmän kuin kaksi saman ensisijaisuuden omaavaa operaattoria. Tässä tapauksessa lauseke voidaan ratkaista joko vasemmalta oikealle tai oikealta vasemmalle, asianmukaisesti.

abstrakti luokka vs käyttöliittymä

Java-operaattorien tärkeysjärjestystaulukko

Seuraava taulukko kuvaa Javassa käytettävien operaattoreiden ensisijaisuutta ja assosiatiivisuutta.

Ensisijaisuus Operaattori Tyyppi Assosiatiivisuus
viisitoista ()
[]
·
Sulut
Array alaindeksi
Jäsenvalinta
Vasemmalta oikealle
14 ++
--
Unaarinen jälkilisäys
Unaarinen dekrementti
Oikealta vasemmalle
13 ++
--
+
-
!
~
(tyyppi)
Unaarinen esilisäys
Unaarinen esivähennys
Yksinäinen plussa
Yksinäinen miinus
Yksinäinen looginen negaatio
Unaarinen bittikomplementti
Unary type cast
Oikealta vasemmalle
12 *
/
%
Kertominen
Division
Modulus
Vasemmalta oikealle
yksitoista +
-
Lisäys
Vähennyslasku
Vasemmalta oikealle
10 <<
>>
>>>
Bittisuuntainen siirto vasemmalle
Bittisuuntainen siirto oikealle kylttilaajennuksella
Bitittainen siirto oikealle nollalaajennuksella
Vasemmalta oikealle
9 <
<=
>
>=
esiintymä
Suhteellinen vähemmän kuin
Relaatio pienempi tai yhtä suuri
Suhteellinen suurempi kuin
Relaatio on suurempi tai yhtä suuri
Tyyppivertailu (vain objektit)
Vasemmalta oikealle
8 ==
!=
Relaatio on yhtä suuri kuin
Relaatio ei ole sama kuin
Vasemmalta oikealle
7 & Bitittain JA Vasemmalta oikealle
6 ^ Bittikohtaisesti yksinomainen TAI Vasemmalta oikealle
5 | Bittikohtainen TAI Vasemmalta oikealle
4 && Looginen JA Vasemmalta oikealle
3 || Looginen TAI Vasemmalta oikealle
2 ? : Kolminkertainen ehdollinen Oikealta vasemmalle
1 =
+=
-=
*=
/=
%=
Tehtävä
Lisäystehtävä
Vähennystehtävä
Kertolaskutehtävä
Jaostotehtävä
Moduulitehtävä
Oikealta vasemmalle

Huomautus: Mitä suurempi numero, sitä suurempi on etusija.

Esimerkki Java-operaattorin ensisijaisuudesta

Ymmärretään operaattorin ensisijaisuus esimerkin avulla. Harkitse seuraavaa lauseketta ja arvaa vastaus.

kevät s
 1 + 5 * 3 

Saatat ajatella, että vastaus olisi 18 mutta ei niin. Koska kerto-operaattorilla (*) on korkeampi prioriteetti kuin yhteenlaskuoperaattorilla (+). Näin ollen lauseke arvioi ensin 5*3 ja sen jälkeen jäljellä olevan lausekkeen eli 1+15. Siksi vastaus tulee olemaan 16 .

Katsotaanpa toinen esimerkki. Harkitse seuraavaa lauseketta.

 x + y * z / k 

Yllä olevassa lausekkeessa * ja / -operaatiot suoritetaan ennen +:a ensisijaisuuden vuoksi. y kerrotaan z:llä ennen kuin se jaetaan k:lla assosiatiivisuuden vuoksi.