Priorité des opérateurs | Java

image_pdfimage_print

Java a des règles bien définies pour spécifier l’ordre dans lequel les opérateurs d’une expression sont évalués lorsque l’expression a plusieurs opérateurs. Par exemple, la multiplication et la division ont une priorité plus élevée que l’addition et la soustraction. Les règles de priorité peuvent être annulées par des parenthèses explicites.
 

Ordre de priorité

Lorsque deux opérateurs partagent un opérande, l’opérateur ayant la priorité la plus élevée commence en premier. Par exemple, 1 + 2 * 3 est traité comme 1 + (2 * 3), car la multiplication a une priorité plus élevée que l’addition.
 
 

Associativité

Lorsqu’une expression a deux opérateurs avec la même priorité, l’expression est évaluée en fonction de son associativité. Par exemple, a = b = c = 5 est traité comme a = (b = (c = 5)), les trois variables ont la valeur 5, car l’opérateur = a une associativité de droite à gauche.

Le tableau suivant montre tous les opérateurs Java à partir de la priorité la plus élevée à la priorité la plus faible.

Opérateur
Description
[]
.
()
Accès aux éléments du tableau
Accès à un membre d’objet
parenthèses
++
– –
post-incrément
post-décrément
+

!
~
plus
moins
opérateur logique NOT
opérateur bitwise NOT
()
new
transtypage
création d’objet
*
/
%
multiplicatif
+ –
+
additif
concaténation de chaînes
<< >>
>>>
décalage
< <=
> >=
instanceof
relationnel
==
!=
égalité
&AND bit à bit
^XOR
|OR bit à bit
&&AND logique
||OR logique
?:Opérateur ternaire
= += -=
*= /= %=
&= ^= |=
<<= >>= >>>=
Affectation

 
 

Exemple 1: Priorité des opérateurs
public class Main {
    public static void main(String[] args) {
    	
    	int x = 4, y = 1, z = 1, res;
    	res = x-++y-++z;
    	
    	System.out.println(res);
    }
}

 
Sortie:

0

La priorité de l’opérateur ++ est supérieure à celle de l’opérateur -.
 

Exemple 2: Priorité des opérateurs
public class Main {
    public static void main(String[] args) {
    	
    	int x = 2;
    	int y = 3;
    	int z = ++x * y--;
    	
    	System.out.println(z);
    }
}

 
Sortie:

9

La priorité de l’opérateur ++ et — est supérieure à celle de l’opérateur *.
 

Partagez cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *