Programmation Java/Opérateurs

Un livre de Wikibooks.

Programmation
Java
Logo java.JPG
Sommaire
IHM avec SWING
Annexes
Modifier ce modèle

[modifier] Les opérateurs

Voici une liste des opérateurs utilisables en Java, avec leur signification et leur associativité, dans l'ordre de leur évaluation (du premier au dernier évalué) et le type de données auquel chaque opérateur s'applique :

Opérateur Description Type Associativité
() Appel de méthode classes et objets de gauche à droite
[] Elément d'un tableau tableaux
. Membre d'une classe ou d'un objet classes et objets
++ Incrémentation post ou pré-fixée byte char short int long float double de droite à gauche
-- Décrémentation post ou pré-fixée byte char short int long float double
+ Positif byte char short int long float double
- Négation byte short int long float double
! Non logique boolean
~ Non binaire byte char short int long
(type) Conversion de type tous
* Multiplication byte char short int long float double de gauche à droite
/ Division byte char short int long float double
% Modulo (reste de la division entière) byte char short int long
+ Addition byte char short int long float double
String (concaténation)
de gauche à droite
- Soustraction byte char short int long float double
<< Décalage de bit vers la gauche byte char short int long de gauche à droite
>> Décalage de bit vers la droite
(signe conservé)
byte char short int long
>>> Décalage de bit vers la droite
(signe décalé)
byte char short int long
< Inférieur byte char short int long float double de gauche à droite
<= Inférieur ou égal byte char short int long float double
> Supérieur byte char short int long float double
>= Supérieur ou égal byte char short int long float double
== Egal byte char short int long float double objet de gauche à droite
!= Différent byte char short int long float double objet
& ET binaire byte char short int long de gauche à droite
^ OU exclusif binaire byte char short int long de gauche à droite
| OU binaire byte char short int long de gauche à droite
&& ET logique boolean de gauche à droite
|| OU logique boolean de gauche à droite
?: Opérateur ternaire de condition boolean ? tous : tous de droite à gauche
= Affectation tous de droite à gauche
+= Addition et affectation byte char short int long float double
String (concaténation)
-= Soustraction et affectation byte char short int long float double
*= Multiplication et affectation byte char short int long float double
/= Division et affectation byte char short int long float double
%= Modulo et affectation byte char short int long float double
<<= Décaler à gauche et affectation byte char short int long
>>= Décaler à droite (excepté signe) et affectation byte char short int long
>>>= Décaler à droite (signe aussi) et affectation byte char short int long
&= ET binaire et affectation byte char short int long
^= OU exclusif binaire et affectation byte char short int long
|= OU binaire et affectation byte char short int long
, Enchaînement d'expressions tous de gauche à droite

Chaque case de la colonne « associativité » regroupe les opérateurs de même priorité.

Remarque : Java effectue une conversion en int de manière implicite sur les shorts et les bytes dès qu'il doit effectuer une opération binaire, ce qui peut donner des résultats non conforme à ce que l'on pourrait attendre (détails).