logo

Java operatora prioritāte

Šajā sadaļā mēs uzzināsim, operators prioritāte Java valodā kopā ar piemēriem.

Kas ir operatora prioritāte?

The operatora prioritāte attēlo, kā divas izteiksmes ir saistītas kopā. Izteiksmē tas nosaka operatoru grupēšanu ar operandiem un izlemj, kā izteiksme tiks novērtēta.

Risinot izteiksmi, jāpatur prātā divas lietas, pirmā ir a prioritāte un otrais ir asociativitāte .

java kolekcijas java
Java operatora prioritāte

Priekšroka

Prioritāte ir prioritāte, lai grupētu dažāda veida operatorus ar to operandiem. Tam ir nozīme tikai tad, ja izteiksmei ir vairāk nekā viens operators ar augstāku vai zemāku prioritāti. Vispirms tiek novērtēti operatori, kuriem ir augstāka prioritāte. Ja mēs vēlamies vispirms novērtēt operatorus ar zemāku prioritāti, mums operandi jāgrupē, izmantojot iekavas, un pēc tam jānovērtē.

Asociativitāte

Mums ir jāievēro asociativitāte, ja izteiksmei ir vairāk nekā divi operatori ar tādu pašu prioritāti. Šādā gadījumā izteiksmi var atrisināt vai nu no kreisās uz labo vai no labās puses uz kreiso, attiecīgi.

pārvērst virkni interger

Java operatora prioritātes tabula

Nākamajā tabulā ir aprakstīta Java izmantoto operatoru prioritāte un asociācija.

Priekšroka Operators Tips Asociativitāte
piecpadsmit ()
[]
·
Iekavas
Masīva apakšindekss
Dalībnieku atlase
No kreisās uz labo
14 ++
--
Unārs pēcpieaugums
Unārs pēcsamazinājums
No labās uz kreiso
13 ++
--
+
-
!
~
(tips)
Unārs priekšpieaugums
Unārs iepriekšējais samazinājums
Vienots pluss
Vienots mīnuss
Unārs loģisks noliegums
Unārs bitu papildinājums
Unāra tipa lējums
No labās uz kreiso
12 *
/
%
Reizināšana
Divīzija
Modulus
No kreisās uz labo
vienpadsmit +
-
Papildinājums
Atņemšana
No kreisās uz labo
10 <<
>>
>>>
Bitu maiņa pa kreisi
Bitu pa labi nobīde ar zīmes paplašinājumu
Bitu pa labi nobīde ar nulles pagarinājumu
No kreisās uz labo
9 <
<=
>
>=
instanceof
Relāciju mazāk nekā
Relācijas ir mazākas par vai vienādas
Relāciju lielāks par
Relācijas ir lielākas vai vienādas
Veidu salīdzinājums (tikai objekti)
No kreisās uz labo
8 ==
!=
Relācijas ir vienādas ar
Relācijas nav vienādas ar
No kreisās uz labo
7 & Bitu UN No kreisās uz labo
6 ^ Bitu ekskluzīvs VAI No kreisās uz labo
5 | Ieskaitot bitus VAI No kreisās uz labo
4 && Loģiski UN No kreisās uz labo
3 || Loģiski VAI No kreisās uz labo
2 ? : Trīskāršs nosacījums No labās uz kreiso
1 =
+=
-=
*=
/=
%=
Piešķiršana
Papildinājuma uzdevums
Atņemšanas uzdevums
Reizināšanas uzdevums
Divīzijas uzdevums
Moduļa uzdevums
No labās uz kreiso

Piezīme. Jo lielāks skaitlis, jo augstāka ir prioritāte.

Java operatora prioritātes piemērs

Izpratīsim operatora prioritāti, izmantojot piemēru. Apsveriet šādu izteiksmi un uzminiet atbildi.

 1 + 5 * 3 

Jūs varētu domāt, ka atbilde būtu 18 bet ne tā. Tā kā reizināšanas (*) operatoram ir augstāka prioritāte nekā saskaitīšanas (+) operatoram. Tādējādi izteiksme vispirms novērtē 5*3 un pēc tam atlikušo izteiksmi, t.i., 1+15. Tāpēc atbilde būs 16 .

java pārvērst virkni par int

Apskatīsim citu piemēru. Apsveriet šādu izteiksmi.

 x + y * z / k 

Iepriekš minētajā izteiksmē * un / darbības tiek veiktas pirms + prioritātes dēļ. y tiek reizināts ar z, pirms tas tiek dalīts ar k asociativitātes dēļ.