logo

Java-operatørpræference

I dette afsnit lærer vi operatør forrang i Java sammen med eksempler.

Hvad er operatørprioritet?

Det operatørens forrang repræsenterer, hvordan to udtryk bindes sammen. I et udtryk bestemmer det grupperingen af ​​operatorer med operander og bestemmer, hvordan et udtryk skal evalueres.

Når man løser et udtryk, skal man huske på to ting, den første er a forrang og den anden er associativitet .

Java-operatørpræference

Forrang

Prioritet er prioritet for gruppering af forskellige typer operatører med deres operander. Det er kun meningsfuldt, hvis et udtryk har mere end én operator med højere eller lavere forrang. De operatører, der har højere prioritet, evalueres først. Hvis vi først vil evaluere operatorer med lavere prioritet, skal vi gruppere operander ved at bruge parenteser og derefter evaluere.

Associativitet

Vi skal følge associativitet, hvis et udtryk har mere end to operatorer med samme forrang. I et sådant tilfælde kan et udtryk enten løses venstre til højre eller højre mod venstre, derfor.

Java-operatørpræferencetabel

Følgende tabel beskriver forrangen og associativiteten af ​​operatorer, der bruges i Java.

Forrang Operatør Type Associativitet
femten ()
[]
·
Parenteser
Array subscript
Medlemsvalg
Venstre til højre
14 ++
--
Unær post-tilvækst
Unær post-dekrement
Højre til venstre
13 ++
--
+
-
!
~
(type)
Unært præ-tilvækst
Unær præ-dekrement
Unært plus
Unær minus
Unær logisk negation
Unært bitvis komplement
Unær type støbning
Højre til venstre
12 *
/
%
Multiplikation
Division
Modulus
Venstre til højre
elleve +
-
Tilføjelse
Subtraktion
Venstre til højre
10 <<
>>
>>>
Bitvist venstreskift
Bitvist højreskift med tegnforlængelse
Bitvist højreskift med nul forlængelse
Venstre til højre
9 <
<=
>
>=
forekomst af
Relationel mindre end
Relationel mindre end eller lig
Relationel større end
Relationel større end eller lig
Typesammenligning (kun objekter)
Venstre til højre
8 ==
!=
Relationel er lig med
Relationel er ikke lig med
Venstre til højre
7 & Bitvis OG Venstre til højre
6 ^ Bitvis eksklusiv ELLER Venstre til højre
5 | Bitvis inklusive ELLER Venstre til højre
4 && Logisk OG Venstre til højre
3 || Logisk ELLER Venstre til højre
2 ? : Ternær betinget Højre til venstre
1 =
+=
-=
*=
/=
%=
Opgave
Tillægsopgave
Subtraktionsopgave
Multiplikationsopgave
Divisionsopgave
Modulopgave
Højre til venstre

Bemærk: Større tallet er højere.

Eksempel på Java-operatørpræference

Lad os forstå operatørens forrang gennem et eksempel. Overvej følgende udtryk og gæt svaret.

 1 + 5 * 3 

Du tænker måske, at svaret ville være 18 men ikke sådan. Fordi multiplikationsoperatoren (*) har højere forrang end additionsoperatoren (+). Derfor evaluerer udtrykket først 5*3 og evaluerer derefter det resterende udtryk, dvs. 1+15. Derfor vil svaret være 16 .

Lad os se et andet eksempel. Overvej følgende udtryk.

 x + y * z / k 

I ovenstående udtryk udføres * og / operationer før + på grund af forrang. y ganges med z før den divideres med k på grund af associativitet.