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,3et4sont les opĂ©randes. Les opĂ©randes peuvent ĂȘtre des valeurs littĂ©rales (comme3ou4) 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 :
- Comprendre et évaluer des opérations mathématiques et de concaténation.
- Comprendre le cas spécial de la division avec des
intet, de maniĂšre connexe, lâutilitĂ© de lâopĂ©rateur%.
CritĂšres de succĂšs
- Ăcrire des expressions incluant des opĂ©rations mathĂ©matiques et de concatĂ©nation.
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 :
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 % 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 :
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 |
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 = " + 3donne"Trois = 3"le int
3est converti en String"3"avant dâĂȘtre collĂ© au texte"4" + 3donne"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.
- Créer un fichier
Calculs.javadans votre rĂ©pertoire de travail. Assurez-vous dây ajouter la structure de base (mĂ©thodemain). - DĂ©clarez et initialisez deux
intet 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)); - 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. - DĂ©clarez et initialisez deux
doubleet faire les deux divisions possibles entre ces deux variables (a/b et b/a). Affichez le rĂ©sultat de chaque opĂ©ration. - Testez votre programme en le lançant au terminal. Corrigez les erreurs sâil y en a.
- Faites un commit et un push de votre travail dans GitHub.