Programmation Java: la priorité des opérateurs

Il est essentiel de savoir comment Java interprète les symboles que vous utilisez pour effectuer des opérations spécifiques et dans quel ordre il les interprète. Sinon, vous pourriez écrire une application avec un résultat à l'esprit et de recevoir un résultat tout à fait différent. Chaque fois que vous avez un doute quant à la façon de Java va interpréter un symbole que vous utilisez, vous pouvez compter sur les informations contenues dans ce tableau pour vous aider.

Java ordre de préséance de l'opérateur
PrioritéOpérateursDescriptionAssociativité
1[]Index de tableau utilisé pour spécifier quel élément tableau pour accéder.Gauche
1()Appel de méthode ou d'un groupement. Le regroupement est particulièrement important en ce que: il change les règles normales pour interagir avec les opérateurs, telles que l'exécution plus avant la multiplication.Gauche
1.Accès aux membres utilisé pour interagir avec un membre d'un objet.Gauche
2++Préfixe ou incrément de postfix. Ajoute une valeur de 1 à thevariable.Droit
2--Préfixe ou suffixe diminution. Supprime une valeur de 1 de thevariable.Droit
2+
-
Plus ou moins unaire. Définit le signe de la variable. Le plusoperator est jamais utilisé parce que les variables sont positifs par default.The opérateur moins nie la variable.Droit
2~Unaire NOT au niveau opérateur inverse les bits dans une variable. Inother mots, il fait la variable à l'opposé de ce qu'il était. Forexample, 5 (binaire 00000101) devient un -6 (binary11111010).Droit
2!Unaire opérateur booléen Non est utilisé dans les évaluations booléennes toturn vrai en faux et de faux en vrai.Droit
2(type)Effectue un casting pour changer le type d'une variable dans anothertype.Droit
2nouveauCrée un nouvel objet basé sur la classe prévue.Droit
3*
/
%
Effectue les mathoperations multiplication, division, et le reste.Gauche
4+
-
Effectue les opérations d'addition et de soustraction mathématiques.Gauche
4+Concatène deux chaînes pour produire une seule chaîne.Gauche
5lt; lt;
>>
>>>
Opérateurs de décalage au niveau du bit qui sont rarement utilisés pour applicationdevelopment. Une discussion de ces opérateurs est au-delà de la portée ofthis livre.Gauche
6lt;
lt; =
Effectue la comparaison logique de deux valeurs pour moins de oumoins et égale à.Gauche
6>
> =
Effectue la comparaison logique de deux valeurs pour une plus grande thanor supérieure et égale à.Gauche
6exemple deTeste si un objet est une instance d'un particularclass.Gauche
7==Détermine si deux valeurs sont précisément égale.Gauche
7!=Détermine si deux valeurs ne sont pas égales.Gauche
8Opération ET qui combine deux valeurs. Une discussion ofthis opérateur est en dehors de la portée de ce livre.Gauche
8ET logique qui combine les résultats de deux logicalevaluations. Dans de nombreux cas, à la fois la condition A et l'état B DOIT être remplies pour une évaluation entière pour être vrai.Gauche
9^Bitwise exploitation exclusive ou (XOR) qui combine deux valeurs de la discussion de cet opérateur est en dehors du champ d'application de thisbook.Gauche
9^Opération XOR logique qui combine le résultat de deux logicalevaluations. Pour être vrai, soit la condition A ou la condition Bmust être vrai, mais pas les deux.Gauche
10|Opération OU qui combine deux valeurs. Une discussion ofthis opérateur est en dehors de la portée de ce livre.Gauche
10|Opération OU logique qui combine le résultat de deux logicalevaluations. Pour être vrai, l'état A ou la condition B, oules deux doit être vrai.Gauche
11ET logique qui est utilisé dans le cadre d'un logicalexpression pour déterminer la valeur de vérité des deux expressions. Bothmust être vrai pour l'expression entière pour être vrai.Gauche
12||Opération OU logique qui est utilisé dans le cadre d'un logicalexpression pour déterminer la valeur de vérité des deux expressions. EitherOr les deux doivent être vrai pour l'expression entière pour être vrai.Gauche
13? :Effectue une évaluation conditionnelle. Voir la “ UsingRelational et opérateurs conditionnels ” section de ce chapterfor détails.Droit
14=Affecte la valeur spécifiée pour la variable.Droit
14* = / = + = - =% =
lt; lt; = = >> >>> =
= ^ = | =
Le fonctionnement et l'affectation combinée. Java effectue la requestedoperation, telles que l'addition, puis affecte le résultat à thevariable.
Les opérateurs d'affectation combinées comprennent un certain nombre de operatorsthat effectuer des opérations au niveau du bit. Une discussion de ces opérateurs isoutside la portée de ce livre.
Droit

La colonne Priorité est probablement le plus important, car il définit l'ordre strict dans lequel Java interprète les symboles affichés dans la colonne des opérateurs. Un opérateur supérieur dans le tableau l'emporte toujours sur un opérateur qui est plus bas dans le tableau.




La colonne d'associativité est également importante. Dans la plupart des cas, Java interprète symboles de gauche à droite, ce qui signifie que les symboles ont une gauche associativité. Cependant, dans quelques cas, l'opérateur travaille de droite à gauche.

Par exemple, lors de l'utilisation de l'opérateur =, Java interprète les informations à la droite de l'opérateur d'abord, et il attribue ensuite le résultat à l'opérande à gauche de l'opérateur. Ainsi, le débit est de droite à gauche, ce qui rend l'opérateur = droit associatif.

Associativité est un terme mathématique qui définit comment les éléments interagissent dans une opération binaire. Dans la plupart des cas, Java utilise associativité gauche. Il commence à partir du côté gauche d'un groupe d'opérateurs et travaille vers le côté droit.

Par exemple, si vous avez 1 + 2 + 3 comme une équation, Java et ajoute 2 1 d'abord, puis ajoute 3 à la suite de la première opération. Vous pouvez contrôler à l'aide de l'associativité entre parenthèses. L'article au Math.com fournit plus d'informations sur ce sujet.


» » » » Programmation Java: la priorité des opérateurs