next up previous contents index
suivant: Expressions booléennes monter: Opérateurs et expressions précédent: Opérateurs et expressions   Table des matières   Index


Expressions arithmétiques

Ces expressions sont formées à partir des opérateurs arithmétiques : les opérateurs additifs +, -, les opérateurs multiplicatifs *, / et % (modulo) et les opérateurs unaires + et -. Java ne dispose pas d'opération d'exponentiation. mais d'une fonction Math.exp, membre du paquet java.lang.

Conformément à l'usage courant, on préfère écrire l'expression 2*x/3 - 5*y plutôt que ((2*x)/3) - (5*y) ; l'expression non parenthésée pourrait tout aussi bien être analysée comme (2*x)/((3-5)*y), qui n'a sûrement pas la même signification, donc ne produirait pas la même valeur. L'analyse syntaxique d'une expression qui n'est pas complètement parenthésée doit donc être précisée par des règles de précédence. Ignorer ces règles oblige un parenthésage complet, ce qui est une contrainte souvent excessive. Ces règles stipulent que les opérateurs unaires (+, -) sont les plus forts, puis viennent les multiplicatifs (*, /, %) et les additifs (+, -). Par exemple, -1+3 est analysée comme (-1) + 3, et 2*x+3*y comme (2*x) + (3*y).

En outre, les opérateurs binaires sont parenthésés par la gauche (en anglais, left associative) ; par exemple, x/2*3 est analysée comme (x/2)*3, et x-y-z comme (x-y)-z (s'ils étaient parenthésés par la droite, ces expressions seraient analysées respectivement comme x/(2*3) et comme x-(y-z)). Les opérateurs unaires sont parenthésés par la droite : par exemple, --x est analysée comme -(-x) et non comme (--)x, qui n'a pas de signification mathématique.


next up previous contents index
suivant: Expressions booléennes monter: Opérateurs et expressions précédent: Opérateurs et expressions   Table des matières   Index
Rene' LALEMENT 2002-11-07