Archives Wild Code School
Java

Java operators

Quête 22 sur 43 · 1 image archivée

title-book
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.

Quêtes liées

Operator, operand and expression

🤓 À 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à.

java
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

java
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
java
7 - 3
Multiplication
java
3 * 4
Division
java
9 / 3

Java propose quelques opérateurs arithmétiques supplémentaires :

Modulo

L'opérateur modulo donne le reste d'une division.

java
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

java
int i = 7;

i++; // donc la valeur de i est 8 maintenant.

Pour décrémenter une variable, utilise

java
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.

java
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

java
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

java
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

java
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

java
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.

java
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.

java
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.

java
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

↗
Les tutoriels Java ; les opérateurs
docs.oracle.com

🔬 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
title-book
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.

Quêtes liées

Operator, operand and expression

🤓 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.

java
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

java
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
java
7 - 3
Multiplication
java
3 * 4
Division
java
9 / 3

Java provides some additional arithmetic operators:

Modulus

The modulus operator gives the remainder of a division.

java
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

java
int i = 7;

i++; // So i value is 8 now.

To decrement a variable, use

java
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.

java
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

java
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

java
int i = 1;
int j = 2;

i <= j;

The greater operator checks if the first operand is greater than the second operand

java
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

java
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.

java
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.

java
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.

java
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

↗
The Java Tutorials; Operators
docs.oracle.com

🔬 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