Skip to content

Les opérateurs

Java fournit un ensemble d’opérateurs pour manipuler des variables.

Nous pouvons les diviser en des groupes comme suit :

  • Opérateurs arithmétiques
  • Opérateurs relationnels
  • Opérateurs logiques
  • Opérateurs bit à bit
  • Opérateurs d’affectation
  • Autres opérateurs

 

Opérateurs arithmétiques

Le tableau suivant présente tous les opérateurs arithmétiques supportés par le langage Java.

Opérateur Description
+ La somme
- La soustraction
* La multiplication
/ La division
% Modulo
++ Opérateur d’incrémentation
-- Opérateur de décrémentation
int x = 4;
int y = 2;
int z = 6;
int w = 8;

System.out.println("x + y = " + (x + y) );
System.out.println("x - y = " + (x - y) );
System.out.println("x * y = " + (x * y) );
System.out.println("y / x = " + (y / x) );
System.out.println("y % x = " + (y % x) );
System.out.println("z % x = " + (z % x) );
System.out.println("x++   = " +  (x++) );
System.out.println("y--   = " +  (x--) );
// Vérifier la différence entre w++ et ++w
System.out.println("w++   = " +  (w++) );
System.out.println("++w   = " +  (++w) );

 

Opérateurs relationnels

Le tableau suivant montre tous les opérateurs relationnels supportés par Java.

Opérateur Description
== Vérifie si les deux opérandes sont égales ou non. Si oui, alors la condition est true.
!= Vérifie si les deux opérandes sont égales ou non. Si les valeurs ne sont pas égales, la condition est True.
> Vérifie si la valeur de l’opérande gauche est supérieure à la valeur de l’opérande droit. Si oui, alors la condition devient True.
< Vérifie si la valeur de l’opérande gauche est inférieure à la valeur de l’opérande droit. Si oui, alors la condition devient True.
>= Vérifie si la valeur de l’opérande gauche est supérieure ou égale à la valeur de l’opérande droit. Si oui, alors la condition devient True.
<= Vérifie si la valeur de l’opérande gauche est inférieure ou égale à la valeur de l’opérande droit. Si oui, alors la condition devient True.
int x = 10;
int y = 20;

System.out.println("x == y = "+ (x == y) );
System.out.println("x != y = "+ (x != y) );
System.out.println("x > y = "+ (x > y) );
System.out.println("x < y = "+ (x < y) );
System.out.println("y >= x = "+ (y >= x) );
System.out.println("y <= x = "+ (y <= x) );

Opérateurs logiques

Le tableau suivant montre tous les opérateurs logiques pris en charge par le langage Java.

Opérateur Description
&& Opérateur logique AND. Si les deux opérandes ne sont pas égaux à zéro, la condition devient True.
|| Opérateur logique OR. Si l’un des deux opérandes est non nul, la condition devient True.
! Opérateur logique NOT. Il est utilisé pour inverser l’état logique de son opérande. Si une condition est True, l’opérateur NOT le rendra False.
boolean x = true;
boolean y = false;

System.out.println("x && y = " + (x&&y));
System.out.println("x || y = " + (x||y) );
System.out.println("!(x && y) = " + !(x && y));

 

Opérateurs bit à bit

L’opérateur bit à bit fonctionne sur les bits et exécute l’opération bit par bit. Les tables de vérité pour &, | , et ^ sont les suivantes :

p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1
int x = 60; // 60 = 0011 1100 
int y = 13; // 13 = 0000 1101

int z = 0;
z = x & y;        // 12 = 0000 1100 
System.out.println("x & y = " + z );
z = x | y;        // 61 = 0011 1101 
System.out.println("x | y = " + z );
z = x ^ y;        // 49 = 0011 0001 
System.out.println("x ^ y = " + z );
z = ~x;           //-61 = 1100 0011 
System.out.println("~x = " + z );
z = x << 2;       // 240 = 1111 0000 
System.out.println("x << 2 = " + z );
z = x >> 2;       // 15 = 1111 
System.out.println("x >> 2  = " + z );
z = x >>> 2;      // 15 = 0000 1111 
System.out.println("x >>> 2 = " + z );

 

Opérateurs d’affectation

Le tableau suivant représente les opérateurs d’affectation pris en charge par le langage Java

Opérateur Description
= Opérateur d’affectation simple. Affecte les valeurs des opérandes de droite à l’opérande de gauche C = A + B assignera la valeur de A + B à C
+= Il ajoute l’opérande droit à l’opérande gauche et affecte le résultat à l’opérande gauche. C += A est équivalent à C = C + A
-= Il soustrait l’opérande droit de l’opérande gauche et affecte le résultat à l’opérande gauche. C -= A est équivalent à C = C – A
*= Il multiplie l’opérande droit par l’opérande gauche et attribue le résultat à l’opérande gauche. C *= A est équivalent à C = C * A
/= Il divise l’opérande gauche par l’opérande droit et affecte le résultat à l’opérande gauche. C /= A est équivalent à C = C / A
%= Il prend le modulo en utilisant deux opérandes et attribue le résultat à l’opérande gauche. C %= A est équivalent à C = C % A
<<= Opérateur de décalage à gauche. C <<= 2 est identique à C = C << 2
>>= Opérateur de décalage à droite C >>= 2 est identique à C = C >> 2
&= Opérateur bit à bit. C &= 2 est identique à C = C & 2
^= Opérateur OU exclusif bit à bit. C ^= 2 est identique à C = C ^ 2
|= Opérateur OU inclusive bit à bit. C |= 2 est identique à C = C | 2
int x = 10;
int y = 20;
int z = 0;

z = x + y;
System.out.println("z = x + y = " + z );
z += x ;
System.out.println("z += x  = " + z );
z -= x ;
System.out.println("z -= x = " + z );
z *= x ;
System.out.println("z *= x = " + z );
x = 10;
z = 15;
z /= x ;
System.out.println("c /= x = " + z );
x = 10;
z = 15;
z %= x ;
System.out.println("z %= x  = " + z );
z <<= 2 ;
System.out.println("z <<= 2 = " + z );
z >>= 2 ;
System.out.println("z >>= 2 = " + z );
z >>= 2 ;
System.out.println("z >>= 2 = " + z );
z &= x ;
System.out.println("z &= x  = " + z );
z ^= x ;
System.out.println("z ^= x   = " + z );
z |= x ;
System.out.println("z |= x   = " + z );

 

Opérateur ternaire

Outre les opérateurs examinés ci-dessus, il existe quelques autres opérateurs importants dont sizeof et ? : sont pris en charge par le langage Java.

Opérateur Description
? : Expression conditionnelle. Si Condition est True ? donc la valeur X : sinon la valeur Y
int x, y;

x = 10;
y = (x == 1) ? 20: 30;

System.out.println( "La valeur de y est:" + y );
y = (x == 10) ? 20: 30;
System.out.println( "La valeur de y est:" + y );