logo

Priorité des opérateurs Java

Dans cette section, nous apprendrons le opérateur priorité en Java accompagné d'exemples.

Qu’est-ce que la priorité des opérateurs ?

Le priorité des opérateurs représente comment deux expressions sont liées ensemble. Dans une expression, il détermine le regroupement des opérateurs avec des opérandes et décide de la manière dont une expression sera évaluée.

Lors de la résolution d'une expression, deux choses doivent être gardées à l'esprit : la première est une priorité et le deuxième est associativité .

Priorité des opérateurs Java

Priorité

La priorité est la priorité pour regrouper différents types d'opérateurs avec leurs opérandes. Cela n'a de sens que si une expression comporte plusieurs opérateurs avec une priorité supérieure ou inférieure. Les opérateurs ayant une priorité plus élevée sont évalués en premier. Si nous voulons d'abord évaluer les opérateurs de priorité inférieure, nous devons regrouper les opérandes en utilisant des parenthèses, puis évaluer.

Associativité

Il faut suivre l'associativité si une expression a plus de deux opérateurs de même priorité. Dans un tel cas, une expression peut être résolue soit de gauche à droite ou de droite à gauche, par conséquent.

Tableau de priorité des opérateurs Java

Le tableau suivant décrit la priorité et l'associativité des opérateurs utilisés en Java.

Priorité Opérateur Taper Associativité
quinze ()
[]
·
Parenthèses
Indice du tableau
Sélection des membres
De gauche à droite
14 ++
--
Post-incrément unaire
Post-décrémentation unaire
De droite à gauche
13 ++
--
+
-
!
~
(taper)
Pré-incrémentation unaire
Pré-décrémentation unaire
Unaire plus
Unaire moins
Négation logique unaire
Complément unaire au niveau du bit
Castation de type unaire
De droite à gauche
12 *
/
%
Multiplication
Division
Module
De gauche à droite
onze +
-
Ajout
Soustraction
De gauche à droite
dix <<
>>
>>>
Décalage vers la gauche au niveau du bit
Décalage bit à droite avec extension de signe
Décalage à droite au niveau du bit avec extension nulle
De gauche à droite
9 <
<=
>
>=
exemple de
Relationnel inférieur à
Relationnel inférieur ou égal
Relationnel supérieur à
Relationnel supérieur ou égal
Comparaison de types (objets uniquement)
De gauche à droite
8 ==
!=
Relationnel est égal à
Le relationnel n’est pas égal à
De gauche à droite
7 & ET au niveau du bit De gauche à droite
6 ^ OU exclusif au niveau du bit De gauche à droite
5 | OU inclusif au niveau du bit De gauche à droite
4 && ET logique De gauche à droite
3 || OU logique De gauche à droite
2 ? : Conditionnel ternaire De droite à gauche
1 =
+=
-=
*=
/=
%=
Affectation
Mission d'ajout
Affectation de soustraction
Affectation de multiplication
Affectation de division
Affectation du module
De droite à gauche

Remarque : plus le nombre est élevé, plus la priorité est élevée.

Exemple de priorité des opérateurs Java

Comprenons la priorité des opérateurs à travers un exemple. Considérez l’expression suivante et devinez la réponse.

 1 + 5 * 3 

Vous pensez peut-être que la réponse serait 18 mais ce n'est pas le cas. Parce que l’opérateur de multiplication (*) a une priorité plus élevée que l’opérateur d’addition (+). Par conséquent, l’expression évalue d’abord 5*3, puis évalue l’expression restante, c’est-à-dire 1+15. La réponse sera donc 16 .

Voyons un autre exemple. Considérons l'expression suivante.

 x + y * z / k 

Dans l'expression ci-dessus, les opérations * et / sont effectuées avant + en raison de la priorité. y est multiplié par z avant d'être divisé par k en raison de l'associativité.