Jonathan Démoutiez
Coin_hg Vide Coin_hd
 

Les opérateurs

publié le 20/04/07 par Jonathan Démoutiez

 

Qu'est-ce qu'un opérateur?


Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les valuer, ...
On distingue plusieurs types d'opérateurs:

  • les opérateurs de calcul
  • les opérateurs d'assignation
  • les opérateurs d'incrémentation
  • les opérateurs de comparaison
  • les opérateurs logiques
  • (les opérateurs bit-à-bit)
  • (les opérateurs de rotation de bit)

 

Les opérateurs de calcul


Les opérateurs de calcul permettent de modifier mathématiquement la valeur d'une variable

Opé

-rateur

Dénomi

-nation

Effet Exemple Résultat (avec x valant 7)
+ opérateur d'addition Ajoute deux valeurs x+3 10
- opérateur de soustraction Soustrait deux valeurs x-3 4
* opérateur de multiplication Multiplie deux valeurs x*3 21
/ plus: opérateur de division Divise deux valeurs x/3 2.3333333
= opérateur d'affectation Affecte une valeur à une variable x=3 Met la valeur 3 dans la variable x

 

Les opérateurs d'assignation


Ces opérateurs permettent de simplifier des opérations telles que ajouter une valeur dans une variable et stocker le résultat dans la variable. Une telle opérations s'écrirait habituellement de la façon suivante par exemple: x=x+2
Avec les opérateurs d'assignation il est possible d'écrire cette opration sous la forme suivante: x+=2
Ainsi, si la valeur de x tait 7 avant opération, elle sera de 9 aprés...
Les autres opérateurs du même type sont les suivants:

Opé

-rateur

Effet
+= addition deux valeurs et stocke le résultat dans la variable ( gauche)
-= soustrait deux valeurs et stocke le résultat dans la variable
*= multiplie deux valeurs et stocke le résultat dans la variable
/= divise deux valeurs et stocke le résultat dans la variable

 

Les opérateurs d'incrémentation


Ce type d'opérateur permet de facilement augmenter ou diminuer d'une unité une variable. Ces opérateurs sont très utiles pour des structures telles que des boucles, qui ont besoin d'un compteur (variable qui augmente de un en un).
Un opérateur de type x++ permet de remplacer des notations lourdes telles que x=x+1 ou bien x+=1

Opé

-rateur

Dénomi

-nation

Effet Syntaxe Résultat (avec x valant 7)
++ Incrémentation Augmente d'une unité la variable x++ 8
-- Décrmentation Diminue d'une unité la variable x-- 6

 

Les opérateurs de comparaison

 

Opé

-rateur

Dénomi

-nation

Effet Exemple Résultat
==

opérateur d'égalité Compare deux valeurs et vérifie leur égalité x==3 Retourne True si X est égal 3, sinon False
< opérateur d'infériorité stricte Vérifie qu'une variable est strictement inférieure à une valeur x<3 Retourne True si X est inférieur 3, sinon False
<= opérateur d'infériorité Vérifie qu'une variable est inférieure ou égale à une valeur x<=3 Retourne True si X est inférieur ou gal 3, sinon False
> opérateur de supriorité stricte Vérifie qu'une variable est strictement suprieure à une valeur x>3 Retourne True si X est suprieur 3, sinon False
>= opérateur de supriorité Vérifie qu'une variable est supérieure ou égale à une valeur x>=3 Retourne True si X est suprieur ou égal 3, sinon False
!= opérateur de différence Vérifie qu'une variable est différente d'une valeur x!=3 Retourne True si X est différent de 3, sinon False

 ATTENTION : A ne pas confondre avec le signe d'affectation (=)!!

Les opérateurs logiques (boolens)


Ce type d'opérateur permet de vérifier si plusieurs conditions sont vraies:

Opé

-rateur

Dénomi

-nation

Effet Syntaxe
|| OU logique Vérifie qu'une des conditions est réalisée ((condition1) || (condition2))
&& ET logique Vérifie que toutes les conditions sont réalisées ((condition1) && (condition2))
! NON logique Inverse l'état d'une variable booléenne (retourne la valeur True si la variable vaut False, False si elle vaut True) (!condition)

 

(Les opérateurs bit-à-bit)


Si vous ne comprenez pas ces opérateurs cela n'est pas important, vous n'en aurez probablement pas l'utilité. Pour ceux qui voudraient comprendre, rendez- vous aux chapitres suivants:

  • compréhension du binaire
  • représentation des données
  • Instructions arithmétiques et logiques en assembleur


Ce type d'opérateur traite ses opérandes comme des donnes binaires, plutôt que des données décimales, hexadécimales ou octales. Ces opérateurs traitent ces données selon leur représentation binaire mais retournent des valeurs numériques standards dans leur format d'origine.
Les opérateurs suivants effectuent des opérations bit-à-bit, c'est-à-dire avec des bits de même poids.

Opé

-rateur

Dénomi

-nation

Effet Syntaxe Résultat
& ET bit-à-bit Retourne 1 si les deux bits de même poids sont à 1 9 & 12 (1001 & 1100) 8 (1000)
| OU inclusif Retourne 1 si l'un ou l'autre des deux bits de même poids est à 1 (ou les deux) 9 | 12 (1001 | 1100) 13 (1101)
^ OU exclusif Retourne 1 si l'un des deux bits de même poids est à 1 (mais pas les deux) 9 ^ 12 (1001 ^ 1100) 5 (0101)

 

(Les opérateurs de rotation de bit)


Ce type d'opérateur traite ses opérandes comme des données binaires d'une longueur de 32 bits, plutôt que des données décimales, hexadécimales ou octales. Ces opérateurs traitent ces données selon leur représentation binaire mais retournent des valeurs numériques standards dans leur format d'origine.
Les opérateurs suivants effectuent des rotation sur les bits, c'est-à-dire qu'il décale chacun des bits d'un nombre de bits vers la gauche ou vers la droite. La première opérande désigne la donnée sur laquelle on va faire le décalage, la seconde désigne le nombre de bits duquel elle va être dcale.

Opé

-rateur

Dénomi

-nation

Effet Syntaxe Résultat
<< Rotation à gauche Décale les bits vers la gauche (multiplie par 2 à chaque dcalage). Les bits qui sortent à gauche sont perdus, tandis que des zéros sont insérés à droite 6 << 1 (110 << 1) 12 (1100)
>> Rotation à droite avec conservation du signe Décale les bits vers la droite (divise par 2 à chaque dcalage). Les bits qui sortent à droite sont perdus, tandis que le bit non-nul de poids plus fort est recopié à gauche 6 >> 1 (0110 >> 1) 3 (0011)
>>> Rotation à droite avec remplissage de zéros Décale les bits vers la droite (divise par 2 à chaque dcalage). Les zéros qui sortent à droite sont perdus, tandis que des zéros sont insérés à gauche 3 >>> 1 (0011 >>> 1) 1 (0001)

 

Les priorités


Lorsque l'on associe plusieurs opérateurs, il faut que le compilateur sache dans quel ordre les traiter, voici donc dans l'ordre décroissant les priorits de tous les opérateurs:

Priorité des opérateurs
  () [] .        
  -- ++ ! ~ - (un opérande) (casting) new
  * / %        
  + -          
  << >> >>>        
  < <= >= > instanceof    
  == !=          
  &            
  ^            
  |            
  &&            
  ||            
  ? :          
  = += -= *= /= %= &=
  <<= >>= >>>= ^= |=    
  ,            

 

 
Coin_bg Vide Coin_bd
Vide
Jonathan Démoutiez
©2010 Jonathan Démoutiez Valid XHTML 1.0 Transitional