Opérateur modulo
Fait partie de la section Fondamentaux du Journey Java de Coddy. Leçon 16 sur 73.
L’opérateur modulo % donne le reste d’une division. En Java, il s’utilise avec une syntaxe simple :
result = dividend % divisor;- dividende : Le nombre à diviser.
- diviseur : Le nombre qui divise la dividende.
- résultat : Le reste de la division.
Par exemple :
result = 10 % 3;Ici, 10 est divisé par 3. 3 entre trois fois dans 10, avec un reste de 1. Ainsi, result vaudra 1.
Que se passe-t-il si le dividende est plus petit que le diviseur ? Dans ce cas, le diviseur entre 0 fois, donc le reste est simplement le dividende lui-même. Par exemple, 2 % 3 est égal à 2, car 3 entre zéro fois dans 2, avec 2 comme reste.
Habituellement, le modulo est utilisé pour vérifier si un nombre est pair ou impair :
- Si un nombre est pair, le diviser par 2 laissera un reste de 0.
- Si un nombre est impair, le diviser par 2 laissera un reste de 1.
Lors de l’utilisation du modulo avec des nombres à virgule flottante (doubles), il fonctionne de manière similaire aux entiers, mais conserve la précision décimale. Par exemple :
double result = 5.5 % 2.0;
// result est 1.5Voici comment cela fonctionne : 2.0 entre deux fois dans 5.5 (4.0), et le reste est 1.5 (5.5 - 4.0 = 1.5).
Remarque : les valeurs double sont stockées sous forme d’approximations, si bien que certains restes s’affichent avec une petite erreur. Par exemple, 5.2 % 2.0 affiche 1.2000000000000002 plutôt que 1.2. C’est un comportement normal des nombres à virgule flottante, et non une erreur dans votre code.
Un autre exemple :
double result = 7.5 % 3.5;
// result est 0.5Défi
DébutantÉcris un code qui initialise trois variables, a (int), b (double) et c (int) avec les valeurs 9, 2.6 et 11 (respectivement).
Après cela, initialise les variables suivantes :
d (int)qui contiendra le résultat deamodulo2e (int)qui contiendra le résultat deamodulo3f (double)qui contiendra le résultat debmodulo1.5g (double)qui contiendra le résultat debmodulo3.9h (int)qui contiendra le résultat decmodulo10
Observe le résultat et vois comment différents dividendes et diviseurs affectent le résultat.
Essayez vous-même
public class Main {
public static void main(String[] args) {
// Écrivez votre code ci-dessous
// Ne modifiez pas la ligne ci-dessous
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
System.out.println("f = " + f);
System.out.println("g = " + g);
System.out.println("h = " + h);
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/Sorties de base
Méthodes System.outFormatage de la sortieClasse ScannerRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Méthodes (Fonctions)
Déclaration de méthodesParamètres de méthodeTypes de retourSurcharge de méthodesRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationMéthodes Void13Opérations sur les chaînes
Méthodes de chaînes, partie 1Méthodes de chaînes, partie 2Formatage de chaînesComparaison de chaînes5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 43Variables Partie 2
ConstantesConventions de nommageRécapitulatif - Initialisation des variablesType Casting Partie 1Type Casting Partie 26Prise de décision
Instruction IfIf - ElseInstruction SwitchOpérateur ternaireRécapitulatif - If ElseIf - Else imbriqués9Boucles
Boucle For - Partie 1Boucle WhileBoucle Do WhileBreakContinueBoucle For - Partie 2Boucles imbriquéesBoucle infinieRécapitulatif - Entrée dynamique12Parcourir les tableaux
Utilisation de la boucle forBoucle for amélioréeOpérations courantes sur les tableauxEntraînez-vous par vous-même : Compilateur Java en ligne