logo

Korkein etusija Javassa

Kun puhumme ensisijaisuudesta Javassa, operaattori tulee ensin mieleen. Javassa on tiettyjä sääntöjä, jotka määrittävät lausekkeen operaattoreiden arviointijärjestyksen. Operaattorin etusija on käsite, jolla määritellään lausekkeen termiryhmä. Operaattorin ensisijaisuus vastaa lausekkeiden arvioinnista. Sisään Java , sulut () ja Taulukon alaindeksi[] ovat Javassa korkein etusija. Esimerkiksi yhteen- ja vähennyslaskulla on korkeampi prioriteetti kuin vasen- ja oikea-siirtooperaattoreilla.

Korkein etusija Javassa

Alla on määritetty taulukko, jossa alimman tärkeysjärjestyksen operaattori näkyy sen yläosassa.

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

Tärkeysjärjestys

Kun kaksi operaattoria jakaa yhden operandin, ensimmäisenä on operaattori, jolla on korkein etusija. Esimerkiksi x + y * z käsitellään muodossa x + (y * z), kun taas x * y + z käsitellään muodossa (x * y) + z, koska *-operaattorilla on korkein etusija +-operaattoriin verrattuna.

merkkijono jsonobject

Assosiatiivisuus

Assosiatiivisuus on käsite, joka liittyy operaattoreihin, joita käytetään, kun lausekkeessa on kaksi operaattoria, joilla on sama etusija. Assosiatiivisuuskonsepti on erittäin hyödyllinen siitä tilanteesta lähtemiseen. Oletetaan, että meillä on lauseke a + b - c (+ ja - operaattoreilla on sama prioriteetti) , ja tätä lauseketta käsitellään nimellä (a + (b - c)) koska nämä operaattorit ovat oikealta vasemmalle assosiatiivisia. Toisaalta a+++--b+c++ käsitellään nimellä ((a++)+((--b)+(c++))) koska unaariset postinkrementti- ja dekrementtioperaattorit ovat oikealta vasemmalle assosiatiivisia.

Alla on esimerkki, jonka avulla ymmärrät, kuinka lauseke arvioidaan tärkeysjärjestyksen ja assosiatiivisuuden avulla?

Lauseke: x = 4 / 2 + 8 * 4 - ( 5 + 2 ) % 3

Ratkaisu:

1) Yllä olevassa lausekkeessa korkein prioriteettioperaattori on () . Suluissa menee siis ensin ja laskee ensin.

x = 4 / 2 + 8 * 4 - 7 % 3

2) nyt, /, * ja % operaattoreilla on sama etusija ja korkein + ja - Tässä käytämme assosiatiivisuuskonseptia niiden ratkaisemiseen. Näiden operaattoreiden assosiatiivit ovat vasemmalta oikealle. Niin, / operaattori menee ensin ja sitten * ja % samanaikaisesti.

javan nimeämiskäytännöt

x = 2 + 8 * 4 - 7 % 3

x = 2 + 32 - 7 % 3

x = 2 + 32 - 1

3) nyt, + ja - operaattoreilla molemmilla on myös sama etusija, ja näiden operaattoreiden assosiatiivisuus ei oikealle. Niin, + operaattori menee ensin ja sitten - tulee menemään.

x = 34 - 1

x = 33

r c-kielellä

HighestPrecedence.java

 //import classes import java.util.*; //creating HighestPrecedence class to evaluate the expression public class HighestPrecedence { //main() method starts public static void main(String[] args) { //initialize variables with default values int x = 2; int y = 5; int z = 12; //calculating exp1, exp2, and exp3 int exp1 = x +(z/x+(z%y)*(z-x)^2); int exp2 = z/x+y*x-(y+x)%z; int exp3 = 4/2+8*4-(5+2)%3; //printing the result System.out.println(exp1); System.out.println(exp2); System.out.println(exp3); } } 

Lähtö

Korkein etusija Javassa