logo

Priorité la plus élevée en Java

Lorsque nous parlons de priorité en Java, l’opérateur vient en premier à l’esprit. Certaines règles sont définies en Java pour spécifier l'ordre dans lequel les opérateurs d'une expression sont évalués. Priorité des opérateurs est un concept permettant de déterminer le groupe de termes dans une expression. L'opérateur de priorité est responsable de l'évaluation des expressions. Dans Java , parenthèses() et Indice du tableau[] ont la priorité la plus élevée en Java. Par exemple, l'addition et la soustraction ont une priorité plus élevée que les opérateurs de décalage vers la gauche et de décalage vers la droite.

Priorité la plus élevée en Java

Vous trouverez ci-dessous un tableau défini dans lequel l'opérateur de priorité la plus basse apparaît en haut.

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

Ordre de priorité

Lorsque deux opérateurs partagent un même opérande, l'opérateur ayant la priorité la plus élevée commence. Par exemple, x + y * z est traité comme x + (y * z), tandis que x * y + z est traité comme (x * y) + z car l'opérateur * a la priorité la plus élevée par rapport à l'opérateur +.

code c abs

Associativité

Associatif est un concept lié aux opérateurs appliqués lorsque deux opérateurs avec la même priorité entrent dans une expression. Le concept d'associativité est très utile pour sortir de cette situation. Supposons que nous ayons une expression a + b - c Les opérateurs (+ et - ont la même priorité) , et cette expression sera traitée comme (une + (b - c)) car ces opérateurs sont associatifs de droite à gauche. En revanche, a+++--b+c++ sera traité comme ((a++)+((--b)+(c++))) parce que les opérateurs unaires de post-incrémentation et de décrémentation sont associatifs de droite à gauche.

Un exemple est défini ci-dessous pour comprendre comment une expression est évaluée en utilisant l'ordre de priorité et l'associativité ?

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

Solution:

1) Dans l'expression ci-dessus, l'opérateur de priorité la plus élevée est () . Ainsi, la parenthèse passe en premier et calcule en premier.

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

2) Maintenant, /, * et % les opérateurs ont la même priorité et la plus élevée parmi les + et - Ici, nous utilisons le concept d'associativité pour les résoudre. Les associatifs de ces opérateurs sont de gauche à droite. Donc, / l'opérateur passe en premier, puis * et % simultanément.

tests de compatibilité

x = 2 + 8 * 4 - 7 % 3

x = 2 + 32 - 7 % 3

x = 2 + 32 - 1

3) Maintenant, + et - les opérateurs ont tous deux également la même priorité, et l'associativité de ces opérateurs est la moins à droite. Donc, + l'opérateur ira en premier, puis - ira.

x = 34 - 1

x = 33

python enregistrer json dans un fichier

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

Sortir

Priorité la plus élevée en Java