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.
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