Java - Opérateurs de base

Java fournit un riche ensemble d'opérateurs pour manipuler les variables. Nous pouvons diviser tous les opérateurs Java dans les groupes suivants -

  • Opérateurs arithmétiques
  • Opérateurs relationnels
  • Opérateurs au niveau du bit
  • Opérateurs logiques
  • Opérateurs d'affectation
  • Opérateurs divers

Les opérateurs arithmétiques

Les opérateurs arithmétiques sont utilisés dans les expressions mathématiques de la même manière qu'ils sont utilisés dans l'algèbre. Le tableau suivant répertorie les opérateurs arithmétiques -

Supposons que la variable entière A vaut 10 et la variable B 20, alors -

Afficher des exemples

Opérateur La description Exemple
+ (Ajout) Ajoute des valeurs de chaque côté de l'opérateur. A + B donnera 30
- (Soustraction) Soustrait l'opérande de droite de l'opérande de gauche. A - B donnera -10
* (Multiplication) Multiplie les valeurs de chaque côté de l'opérateur. A * B donnera 200
/ (Division) Divise l'opérande de gauche par l'opérande de droite. B / A donnera 2
% (Module) Divise l'opérande de gauche par l'opérande de droite et renvoie le reste. B% A donnera 0
++ (Incrément) Augmente la valeur de l'opérande de 1. B ++ donne 21
- (Décrément) Diminue la valeur de l'opérande de 1. B-- donne 19

Les opérateurs relationnels

Les opérateurs relationnels suivants sont pris en charge par le langage Java.

Supposons que la variable A vaut 10 et la variable B 20, alors -

Afficher des exemples

Opérateur La description Exemple
== (égal à) Vérifie si les valeurs de deux opérandes sont égales ou non, si oui, la condition devient vraie. (A == B) n'est pas vrai.
! = (différent de) Vérifie si les valeurs de deux opérandes sont égales ou non, si les valeurs ne sont pas égales, la condition devient vraie. (A! = B) est vrai.
> (supérieur à) Vérifie si la valeur de l'opérande gauche est supérieure à la valeur de l'opérande droit, si oui, la condition devient vraie. (A> B) n'est pas vrai.
< (Inférieur à) Vérifie si la valeur de l'opérande gauche est inférieure à la valeur de l'opérande droit, si oui, la condition devient vraie. (A <B) est vrai.
> = (supérieur ou égal à) Vérifie si la valeur de l'opérande gauche est supérieure ou égale à la valeur de l'opérande droit, si oui, la condition devient vraie. (A> = B) n'est pas vrai.
<= (inférieur ou égal à) Vérifie si la valeur de l'opérande gauche est inférieure ou égale à la valeur de l'opérande droit, si oui, la condition devient vraie. (A <= B) est vrai.

Les opérateurs au niveau du bit

Java définit plusieurs opérateurs au niveau du bit, qui peuvent être appliqués aux types entiers, long, int, short, char et byte.

L'opérateur au niveau du bit fonctionne sur les bits et effectue des opérations bit par bit. Supposons si a = 60 et b = 13; maintenant au format binaire, ils seront comme suit -

a = 0011 1100

b = 0000 1101

-----------------

a & b = 0000 1100

a | b = 0011 1101

a ^ b = 0011 0001

~ a = 1100 0011

Le tableau suivant répertorie les opérateurs au niveau du bit -

Supposons que la variable entière A a 60 et la variable B 13 alors -

Afficher des exemples

Opérateur La description Exemple
& (bit à bit et) L'opérateur binaire AND copie un bit dans le résultat s'il existe dans les deux opérandes. (A & B) donnera 12 qui est 0000 1100
| (bit à bit ou) L'opérateur OR binaire copie un bit s'il existe dans l'un ou l'autre des opérandes. (A | B) donnera 61 qui est 0011 1101
^ (XOR au niveau du bit) L'opérateur XOR binaire copie le bit s'il est défini dans un opérande mais pas dans les deux. (A ^ B) donnera 49 qui est 0011 0001
~ (compliment au niveau du bit) L'opérateur de complément Binary Ones est unaire et a pour effet de «retourner» les bits. (~ A) donnera -61 qui est 1100 0011 sous forme de complément à 2 en raison d'un nombre binaire signé.
<< (décalage à gauche) Opérateur de décalage binaire gauche. La valeur des opérandes de gauche est déplacée vers la gauche du nombre de bits spécifié par l'opérande de droite. Un << 2 donnera 240, soit 1111 0000
>> (décalage à droite) Opérateur de décalage binaire vers la droite. La valeur des opérandes de gauche est déplacée vers la droite du nombre de bits spécifié par l'opérande de droite. Un >> 2 donnera 15, soit 1111
>>> (décalage à droite de remplissage zéro) Décaler l'opérateur de remplissage zéro vers la droite. La valeur des opérandes de gauche est déplacée vers la droite du nombre de bits spécifié par l'opérande de droite et les valeurs décalées sont remplies de zéros. Un >>> 2 donnera 15 qui est 0000 1111

Les opérateurs logiques

Le tableau suivant répertorie les opérateurs logiques -

Supposons que les variables booléennes A sont vraies et que la variable B est fausse, alors -

Afficher des exemples

Opérateur La description Exemple
&& (logique et) Opérateur logique ET appelé. Si les deux opérandes sont différents de zéro, la condition devient vraie. (A && B) est faux
|| (logique ou) Opérateur OU logique appelé. Si l'un des deux opérandes est différent de zéro, la condition devient vraie. (A || B) est vrai
! (logique non) Opérateur PAS logique appelé. Utilisez pour inverser l'état logique de son opérande. Si une condition est vraie, l'opérateur NOT logique rendra faux. ! (A && B) est vrai

Les opérateurs d'affectation

Voici les opérateurs d'affectation pris en charge par le langage Java -

Afficher des exemples

Opérateur La description Exemple
= Opérateur d'affectation simple. Attribue les valeurs des opérandes du côté droit à l'opérande du côté gauche. C = A + B attribuera la valeur de A + B à C
+ = Ajouter l'opérateur d'affectation AND. Il ajoute l'opérande droit à l'opérande gauche et affecte le résultat à l'opérande gauche. C + = A équivaut à C = C + A
- = Soustraire l'opérateur d'affectation AND. Il soustrait l'opérande droit de l'opérande gauche et affecte le résultat à l'opérande gauche. C - = A équivaut à C = C - A
* = Opérateur d'affectation multiplier ET. Il multiplie l'opérande droit par l'opérande gauche et affecte le résultat à l'opérande gauche. C * = A équivaut à C = C * A
/ = Opérateur d'affectation Divide AND. Il divise l'opérande gauche par l'opérande droit et affecte le résultat à l'opérande gauche. C / = A équivaut à C = C / A
% = Opérateur d'assignation de module ET. Il prend le module en utilisant deux opérandes et affecte le résultat à l'opérande gauche. C% = A équivaut à C = C% A
<< = Opérateur de décalage ET d'affectation gauche. C << = 2 est identique à C = C << 2
>> = Opérateur de décalage ET d'affectation à droite. C >> = 2 est identique à C = C >> 2
& = Opérateur d'affectation AND au niveau du bit. C & = 2 est identique à C = C & 2
^ = Opérateur OU exclusif et d'affectation au niveau du bit. C ^ = 2 est identique à C = C ^ 2
| = OR inclusif au niveau du bit et opérateur d'affectation. C | = 2 est identique à C = C | 2

Opérateurs divers

Il existe peu d'autres opérateurs pris en charge par Java Language.

Opérateur conditionnel (?:)

L'opérateur conditionnel est également appelé ternary operator. Cet opérateur se compose de trois opérandes et est utilisé pour évaluer les expressions booléennes. Le but de l'opérateur est de décider quelle valeur doit être affectée à la variable. L'opérateur s'écrit -

variable x = (expression) ? value if true : value if false

Voici un exemple -

Example

public class Test {

   public static void main(String args[]) {
      int a, b;
      a = 10;
      b = (a == 1) ? 20: 30;
      System.out.println( "Value of b is : " +  b );

      b = (a == 10) ? 20: 30;
      System.out.println( "Value of b is : " + b );
   }
}

Cela produira le résultat suivant -

Output

Value of b is : 30
Value of b is : 20

instanceof Opérateur

Cet opérateur est utilisé uniquement pour les variables de référence d'objet. L'opérateur vérifie si l'objet est d'un type particulier (type de classe ou type d'interface). L'opérateur instanceof s'écrit -

( Object reference variable ) instanceof  (class/interface type)

Si l'objet référencé par la variable sur le côté gauche de l'opérateur passe le contrôle IS-A pour le type de classe / interface sur le côté droit, alors le résultat sera vrai. Voici un exemple -

Example

public class Test {

   public static void main(String args[]) {

      String name = "James";

      // following will return true since name is type of String
      boolean result = name instanceof String;
      System.out.println( result );
   }
}

Cela produira le résultat suivant -

Output

true

Cet opérateur retournera toujours true, si l'objet comparé est l'affectation compatible avec le type de droite. Voici un autre exemple -

Example

class Vehicle {}

public class Car extends Vehicle {

   public static void main(String args[]) {

      Vehicle a = new Car();
      boolean result =  a instanceof Car;
      System.out.println( result );
   }
}

Cela produira le résultat suivant -

Output

true

Priorité des opérateurs Java

La priorité des opérateurs détermine le regroupement des termes dans une expression. Cela affecte la manière dont une expression est évaluée. Certains opérateurs ont une priorité plus élevée que d'autres; par exemple, l'opérateur de multiplication a une priorité plus élevée que l'opérateur d'addition -

Par exemple, x = 7 + 3 * 2; ici x est assigné 13, pas 20 parce que l'opérateur * a une priorité plus élevée que +, donc il est d'abord multiplié par 3 * 2 puis additionné en 7.

Ici, les opérateurs ayant la priorité la plus élevée apparaissent en haut du tableau, ceux avec la priorité la plus faible apparaissent en bas. Dans une expression, les opérateurs de priorité supérieure seront évalués en premier.

Catégorie Opérateur Associativité
Postfix expression ++ expression-- De gauche à droite
Unaire ++ expression –-expression + expression –expression ~! De droite à gauche
Multiplicatif * /% De gauche à droite
Additif + - De gauche à droite
Décalage << >> >>> De gauche à droite
Relationnel <> <=> = instanceof De gauche à droite
Égalité ==! = De gauche à droite
ET au niveau du bit & De gauche à droite
XOR au niveau du bit ^ De gauche à droite
OU au niveau du bit | De gauche à droite
ET logique && De gauche à droite
OU logique || De gauche à droite
Conditionnel ?: De droite à gauche
Affectation = + = - = * = / =% = ^ = | = << = >> = >>> = De droite à gauche

Quelle est la prochaine?

Le chapitre suivant expliquera le contrôle de boucle dans la programmation Java. Le chapitre décrira différents types de boucles et comment ces boucles peuvent être utilisées dans le développement de programmes Java et à quelles fins elles sont utilisées.