ICS3U

Accueil > Programmer avec Java > Les bases de Java >

📚 Opérations mathématiques et concaténation

Survol et attentes

Les ordinateurs sont des calculatrices très puissantes. Dans cette leçon on apprend les opérations mathématiques les plus communes et une opération sur le texte.

Définitions
Opération
une action qui implique deux données pour produire un résultat. Par exemple, l’addition est une opération qui combine deux nombres pour donner la somme de ces nombres.
Opérateur
un symbole qui représente une opération sur des données. Par exemple, - est l’opérateur de soustraction de nombres et = est l’opérateur d’assignation de valeurs à des variables.
Opérande
les données de chaque côté d’un opérateur. Par exemple, dans 3 + 4, 3 et 4 sont les opérandes. Les opérandes peuvent être des valeurs littérales (comme 3 ou 4) ou une expression qui s’évalue au type approprié. Des exemples d’expressions simples sont : une variable, un appel de méthode ou une autre opération.
Ordre des opérations
les règles qui déterminent l’ordre dans lequel les opérations sont effectuées. Java utilisent la même ordre que les mathématiques : d’abord les parenthèses, ensuite la multiplication et la division, et finalement l’addition et la soustraction. Pour les opérations de même niveau, les opérations s’évaluent de gauche vers la droite. S’il y a un appel de méthode, on remplace l’appel avec sa valeur de retour avant de poursuivre les opérations. S’il y a une référence de variable, on remplace la variable avec sa valeur avant de poursuivre les opérations.

Objectifs d’apprentissage

À la fin de cette leçon vous devrez être en mesure de :

Critères de succès

jshell

C’est pratique d’explorer ces opérations dans une session interactive qui donne le résultat instruction par instruction (au lieu d’écrire un programme complet et l’exécuter). Pour le faire, simplement lancer la commande jshell au terminal. Ensuite tapez vos instructions une à la fois (le ; est optionnel dans jshell). Pour quitter, tapez la commande /exit ou fermez le terminal.

Opérations mathématiques

Voici la liste des opérateurs mathématiques qui fonctionnent sur deux valeurs numériques, soit de type int ou double :

  • + addition
  • - soustraction
  • / division
  • * multiplication
  • % modulo (restant)

Division entière

La division entre deux entiers (int) peut seulement donner un entier comme résultat parce qu’il n’y a pas de partie décimale pour un int.

Exemples à évaluer dans jshell :

1
2
3
7 / 2; // donne 3 (pas 3.5)
7 / 3; // donne 2 (pas 2.333...)
1 / 2; // donne 0 (pas 0.5)

Modulo (restant)

Le modulo (%) donne le reste de la division.

1
2
3
4
5
6
7
8
1 % 3; // restants de la division par 3
2 % 3;
3 % 3;
4 % 3;

7 % 2; // restant de la division par 2

113 % 10; // restant de la division par 10

C’est utile pour vérifier si un nombre est divisible par un autre utilisant la condition “egale 0?”, soit == 0 en Java. Par exemple :

1
2
3
4
if ((a % 17) == 0) {
    // a est divisible par 17 parce qu'il n'y a pas de restant
    // fait quelque chose ici avec a
}

Les prochaines leçons présententent les opérations logiques (comme ==) et les structures de contrôle (if, while, for, etc.) qui permettent d’utiliser des conditions comme celle-ci.

Incrémentation et décrémentation

Ces opérateurs simplifient des assignations où on modifie la valeur d’une variable de type int ou double par une quantité fixe.

Opérateur Description Exemple Équivalent
++ incrémenter (augmenter la valeur) par 1 a++ a = a + 1
+= incrémenter par une valeur spécifique a += 3 a = a + 3
-- décrémenter (diminuer la valeur) par 1 a-- a = a - 1
-= décrémenter par une valeur spécifique a -= 3 a = a - 3
1
2
3
4
5
int a = 5;
a++; // a vaut maintenant 6
a--; // a vaut maintenant 5
a += 3; // a vaut maintenant 8
a -= 2; // a vaut maintenant 6

Concaténation de texte

L’opérateur + est surchargé en Java; il a différentes définitions selon le type des opérandes.

  • Si les deux opérandes sont numériques, + fait une addition
  • Si au moins une des opérandes est du texte, + fait une concaténation. C’est-à-dire qu’il colle les deux représentations texte des valeurs pour donner un seul texte combiné.

Exemples :

  • "Bon" + "jour" donne "Bonjour"
  • "Trois = " + 3 donne "Trois = 3"

    le int 3 est converti en String "3" avant d’être collé au texte

  • "4" + 3 donne "43"

    Parce que "4" est du texte, l’opérateur + colle les deux représentations texte des valeurs au lieu de faire une addition.

Classe Math

N’oubliez pas que la classe Math contient plusieurs méthodes pour faire des opérations mathématiques plus complexes. Par exemple : Math.pow(), Math.sqrt(), Math.abs(), Math.sin(), etc.

Exercices

📚 Tester la compréhension

aucun quiz de vérification des concepts ici encore

🛠️ Pratique

Travaillez dans le répertoire GitHub partagé par votre enseignant pour la pratique et les exercices.

  1. Créer un fichier Calculs.java dans votre répertoire de travail. Assurez-vous d’y ajouter la structure de base (méthode main).
  2. Déclarez et initialisez deux int et faire les 5 opérations mathématiques des bases avec ces deux variables. Affichez le résultat de chaque opération, p. ex. System.out.println("a + b = " + (a + b));
  3. Ajouter un commentaire explicatif (// ... ou /* ... */) pour un des calculs explicant ce qui est une concaténation et ce qui est une opération mathématique dans l’expression que vous affichez.
  4. Déclarez et initialisez deux double et faire les deux divisions possibles entre ces deux variables (a/b et b/a). Affichez le résultat de chaque opération.
  5. Testez votre programme en le lançant au terminal. Corrigez les erreurs s’il y en a.
  6. Faites un commit et un push de votre travail dans GitHub.