logo

Hoogste prioriteit op Java

Als we het hebben over prioriteit in Java, komt de operator op de eerste plaats. Er zijn bepaalde regels gedefinieerd in Java om de volgorde te specificeren waarin de operatoren in een expressie worden geëvalueerd. Voorrang van operator is een concept voor het bepalen van de groep termen in een uitdrukking. De operatorprioriteit is verantwoordelijk voor het evalueren van de expressies. In Java , haakjes() En Array-subscript[] hebben de hoogste prioriteit op Java. Optellen en aftrekken hebben bijvoorbeeld een hogere prioriteit dan de operatoren voor linkerverschuiving en rechterverschuiving.

Hoogste prioriteit op Java

Hieronder ziet u een gedefinieerde tabel waarin de operator met de laagste prioriteit bovenaan wordt weergegeven.

Voorrang Exploitant Type Associativiteit
1) =
+=
-=
*=
/=
%=
Opdracht
Toevoeging opdracht
Aftrekking opdracht
Vermenigvuldiging opdracht
Divisie opdracht
Modulustoewijzing
Rechts naar links
2) ? : Ternair voorwaardelijk Rechts naar links
3) || Logische OF Van links naar rechts
4) && Logisch EN Van links naar rechts
5) | Bitgewijze inclusief OR Van links naar rechts
6) ^ Bitwise exclusieve OR Van links naar rechts
7) & Bitsgewijs EN Van links naar rechts
8) !=
==
Relationeel is niet gelijk aan
Relationeel is gelijk aan
Van links naar rechts
9) <
<=
>
>=
exemplaarvan
Relationeel minder dan
Relationeel kleiner dan of gelijk
Relationeel groter dan
Relationeel groter dan of gelijk
Typevergelijking (alleen objecten)
Van links naar rechts
10) >>
<<
>>>
Bitsgewijs naar rechts verschuiven met tekenverlenging
Bitsgewijs naar links verschuiven
Bitsgewijze verschuiving naar rechts met nulextensie
Van links naar rechts
elf) -
+
Aftrekken
Toevoeging
Van links naar rechts
12) *
/
%
Vermenigvuldiging
Divisie
Module
Van links naar rechts
13) -
+
~
!
(type)
Unair min
Unair plus
Unaire bitsgewijze aanvulling
Unaire logische ontkenning
Unaire typecast
Rechts naar links
14) ++
--
Unaire post-increment
Unaire post-verlaging
Rechts naar links
vijftien) ·
()
[]
Punt-operator
Haakjes
Array-subscript
Van links naar rechts

Voorrangsvolgorde

Wanneer twee operators een enkele operand delen, gaat de operator met de hoogste prioriteit als eerste. x + y * z wordt bijvoorbeeld behandeld als x + (y * z), terwijl x * y + z wordt behandeld als (x * y) + z omdat *-operator de hoogste prioriteit heeft in vergelijking met +-operator.

np.histogram

Associativiteit

Associatief is een concept dat verband houdt met de operatoren die worden toegepast wanneer twee operatoren met dezelfde prioriteit in een uitdrukking voorkomen. Het associativiteitsconcept is erg nuttig om vanuit die situatie te komen. Stel dat we een uitdrukking a + b - c hebben (+ en - operators hebben dezelfde prioriteit) , en deze expressie wordt behandeld als (a + (b - c)) omdat deze operatoren van rechts naar links associatief zijn. Aan de andere kant wordt a+++--b+c++ behandeld als ((a++)+((--b)+(c++))) omdat de unaire operatoren na het verhogen en verlagen van rechts naar links associatief zijn.

Hieronder wordt een voorbeeld gedefinieerd om te begrijpen hoe een uitdrukking wordt geëvalueerd met behulp van prioriteitsvolgorde en associativiteit.

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

Oplossing:

1) In de bovenstaande uitdrukking is de operator met de hoogste prioriteit () . Het haakje komt dus eerst en wordt als eerste berekend.

while en do while-lus in Java

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

2) Nu, /, * En % operators hebben dezelfde prioriteit en de hoogste van de + En - Hier gebruiken we het associativiteitsconcept om ze op te lossen. De associatieve van deze operatoren zijn van links naar rechts. Dus, / operator gaat eerst en dan * En % tegelijkertijd.

x = 2 + 8 * 4 - 7% 3

x = 2 + 32 - 7% 3

x = 2 + 32 - 1

3) Nu, + En - operatoren hebben beide ook dezelfde prioriteit, en de associativiteit van deze operatoren minder naar rechts. Dus, + operator zal eerst gaan, en dan - zal gaan.

c++ converteert in naar string

x = 34 - 1

x = 33

HoogstePrecedence.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); } } 

Uitvoer

Hoogste prioriteit op Java