Java operators
Introduction
Commençons à apprendre Java avec les operators (opérateurs : symboles qui agissent sur des valeurs).
Si tu veux tester chaque morceau de code pour bien comprendre, n'hésite pas à le faire ! Si tu as déjà fait la quête ci-dessous, n'hésite pas à tester les exemples dans ton jshell avec les mêmes valeurs ou en les modifiant.

🤓 À la fin de cette quête, tu sauras :
✅ Ce que sont les operators (opérateurs) en Java ✅ Écrire des expressions en Java
Opérateur d'affectation
L'assignment operator (opérateur d'affectation : le symbole qui donne une nouvelle valeur à une variable existante) permet d'attribuer une nouvelle valeur à une variable qui existe déjà.
int i = 3;
Dans l'exemple ci-dessus, on affecte simplement la valeur 3 à la variable i, mais tu peux utiliser n'importe quelle expression qui produit un nombre à droite de l'opérateur d'affectation.
Pour écrire des expressions plus complexes, il faut en apprendre davantage sur les opérateurs.
Opérateurs mathématiques
Les bases en mathématiques sont une exigence fondamentale pour le développement logiciel. Tu connais déjà les opérateurs arithmétiques depuis les maths. Les opérateurs arithmétiques permettent d'additionner, soustraire, multiplier et diviser des variables. Tu peux utiliser l'un des opérateurs mathématiques disponibles pour écrire une expression en Java.
Quand tu écris une expression mathématique en Java, ça fonctionne comme des maths simples. Par exemple, l'expression toute simple
1 + 2
produit une nouvelle valeur, qui est la somme de 1 et 2. 1 et 2 sont des operands (opérandes : les valeurs sur lesquelles agit l'opérateur) tandis que + est l'opérateur utilisé pour l'addition. Les opérateurs de soustraction, de multiplication et de division fonctionnent de la même manière.
Soustraction
7 - 3
Multiplication
3 * 4
Division
9 / 3
Java propose quelques opérateurs arithmétiques supplémentaires :
Modulo
L'opérateur modulo donne le reste d'une division.
7 % 3; // dans ce cas le résultat est 1
Incrémentation et décrémentation
Java fournit des opérateurs pour incrémenter ou décrémenter une variable de un.
Pour incrémenter une variable, utilise
int i = 7;
i++; // donc la valeur de i est 8 maintenant.
Pour décrémenter une variable, utilise
int i = 9;
i--; // donc la valeur de i est 8 maintenant.
Opérateurs relationnels
Les opérateurs relationnels permettent de comparer deux opérandes. Le résultat est toujours une valeur boolean (booléenne : vrai ou faux).
== (égal)
L'opérateur égal (==) fournit un test qui vérifie si les opérandes sont égaux.
int i = 1;
int j = 2;
i == j;
!= (différent)
L'opérateur différent fonctionne de la même manière que l'opérateur égal, mais avec un résultat inversé.
Quand les opérandes sont ordonnés, on peut utiliser des opérateurs relationnels
< (inférieur)
L'opérateur inférieur vérifie si le premier opérande est plus petit que le second opérande
int i = 1;
int j = 2;
i < j;
<= (inférieur ou égal)
L'opérateur inférieur ou égal vérifie si le premier opérande est plus petit ou égal au second opérande
int i = 1;
int j = 2;
i <= j;
L'opérateur supérieur vérifie si le premier opérande est plus grand que le second opérande
int i = 1;
int j = 2;
i < j;
>= (supérieur ou égal)
L'opérateur supérieur ou égal vérifie si le premier opérande est plus grand ou égal au second opérande
int i = 1;
int j = 2;
i <= j;
Opérateurs logiques
Les opérateurs logiques servent à combiner des valeurs boolean (booléennes). On les utilise avec les opérateurs relationnels pour écrire des expressions complexes.
Expression conditionnelle ternaire
Cette expression agit sur un opérande au résultat booléen, suivi d'un point d'interrogation, puis d'une deuxième expression suivie de deux-points, puis d'une troisième expression. Si le résultat est vrai, la deuxième expression est évaluée ; si le résultat est faux, la troisième expression est évaluée.
int i = 3;
int j = 4;
(i<j)? "i is less than j" : "i is greater or equal j";
Autres opérateurs
Java fournit des opérateurs supplémentaires pour les opérations bit à bit (bitwise), le décalage de bits (bit shifting) et des opérateurs supplémentaires pour l'affectation raccourcie.
Parenthèses
Tu peux utiliser des parenthèses pour grouper des expressions ou définir l'ordre d'évaluation d'une expression, tant que tu as une parenthèse fermante pour chaque parenthèse ouvrante.
int i = 3;
int j = 4;
int r = ( i * j );
Dans l'exemple suivant, les parenthèses sont utilisées pour changer l'ordre d'exécution et évaluer l'addition avant la multiplication.
Rappelle-toi qu'en maths, la multiplication est évaluée avant l'addition par défaut.
int i = 3;
int j = 4;
int r = ( i + j ) * 5;
Référence
C'est facile de trouver une bonne référence sur les opérateurs Java en ligne. Tu en trouveras une dans la documentation Java d'Oracle à l'adresse
🔬 Exercice
Utilise JShell pour créer une expression pour chacun des opérateurs listés dans cette quête.
☝️ Résumé
Écrire des expressions en Java est fondamental en programmation. Cette quête t'a présenté les opérateurs les plus importants que tu peux utiliser pour écrire des expressions en Java. Tu dois savoir quels types d'opérateurs Java propose et quel type de résultat attendre quand tu les utilises dans des expressions.
💪Défi
Crée un exemple d'expression pour chaque opérateur listé dans cette quête, avec le résultat de l'évaluation.
Tu dois, volontairement, ajouter au moins une et jusqu'à trois erreurs dans tes résultats.
Mets le résultat en ligne sur GitHub.
Regarde les exemples des autres étudiants et trouve au moins trois erreurs.
Choses à vérifier :
- L'ordre d'exécution
🧐 Critères d'acceptation
- Tu connais les opérateurs les plus importants
- Tes exemples sont disponibles sur Github ou Gitlab
- Tu as trouvé au moins trois erreurs dans les exemples des autres étudiants
Introduction
Let's start to learn java with operators.
If you want to try every piece of code to understand don't hesitate to do it! If you already did the quest below, feel free to test samples in your jshell with same values or changing them.

🤓 By the end of this quest, you will:
✅ Learn about Java operators ✅ Know how to write expressions in Java
Assignment operator
The assignment operator provides a way to assign a new value to an existing variable.
int i = 3;
While the example above simply assigns the value 3 to the variable i, you can use any expression that yields a number on the right-hand side of the assignment operator.
To write more complex expressions, we need to learn more about operators.
Mathematical operators
Knowledge about math is a fundamental requirement for software development. You already know arithmetic operators from math. Arithmetic operators provide a way to add, subtract, multiply and divide variables. You can use one of the available mathematical operators to write an expression in Java.
When you write a mathematical expression in Java, it works like simple math, e.g. the simple expression
1 + 2
produces a new value which is the sum of 1 and 2. 1 and 2 are operands while + is the operator used for addition. The operators for subtraction, multiplication, and division work the same way.
Subtraction
7 - 3
Multiplication
3 * 4
Division
9 / 3
Java provides some additional arithmetic operators:
Modulus
The modulus operator gives the remainder of a division.
7 % 3; // in this case the result is 1
Increment and decrement
Java provides operators to increment or decrement a variable by one.
To increment a variable, use
int i = 7;
i++; // So i value is 8 now.
To decrement a variable, use
int i = 9;
i--; // So i value is 8 now.
Relational operators
Relational operators provide a way to compare two operands. The result is always a boolean value.
== (equal)
The equal operator (==) provides a test that checks if the operands are equals.
int i = 1;
int j = 2;
i == j;
!= (not equal)
The not equal operator works in the same way as the equal operator with an inverted result.
When operands are ordered, we can use relational operators
< (less)
The less operator checks if the first operand is smaller than the second operand
int i = 1;
int j = 2;
i < j;
<= (less or equal)
The less operator checks if the first operand is smaller or equal than the second operand
int i = 1;
int j = 2;
i <= j;
The greater operator checks if the first operand is greater than the second operand
int i = 1;
int j = 2;
i < j;
>= (greater or equal)
The greater or equal operator checks if the first operand is greater or equal than the second operand
int i = 1;
int j = 2;
i <= j;
Logical operators
Logical operators are used to combine boolean values. They are used in combination with relational operators for complex expressions.
Ternary conditional expression
This expression works on one operand with a boolean result followed by a question mark and a second expression followed by a colon and a third expression. If the result is true, the second expression is evaluated and if the result is false, the third expression is evaluated.
int i = 3;
int j = 4;
(i<j)? "i is less than j" : "i is greater or equal j";
Other operators
Java provides additional operators for bitwise operations, bit shifting and additional operators for shorthand assignment
Parentheses
You can use parentheses to group expressions or define the order of expression evaluation as long as you have a closing parenthesis for every open parenthesis.
int i = 3;
int j = 4;
int r = ( i * j );
In the following example, parentheses are used to change the execution order and evaluate the addition before the multiplication.
Remember that in math, multiplication is evaluated before addition by default.
int i = 3;
int j = 4;
int r = ( i + j ) * 5;
Reference
It is easy to find a good reference for Java operators online. You will find one at the Java docs from Oracle at
🔬 Exercise
Use JShell to create one expression for all operators listed in this quest.
☝️ Summary
Writing expressions in Java is fundamental to programming. This quest introduced the most important operators that you can use to write expressions in Java. You should know what kind of operators Java provides and what type of result you can expect when you use the operators in expressions.
💪Challenge
Create one example expression for each operator listed in this quest with the result of the evaluation.
You should, by intent, add at least one and up to three mistakes in your results.
Upload the result to GitHub.
Look at the examples from other students and find at least three errors.
Things to look for:
- Order of execution
🧐 Acceptance criteria
- You know the most important operators
- Your examples are available on Github or Gitlab
- You found at least three errors in other students examples