Menu
Coddy logo textTech

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 est utilisé avec une syntaxe simple :

result = dividend % divisor;
  • dividend: Le nombre qui est divisé.
  • divisor: Le nombre qui divise le dividende.
  • result: Le reste de la division.

Par exemple :

result = 10 % 3;

Ici, 10 est divisé par 3. 3 va dans 10 trois fois, avec un reste de 1. Ainsi, result sera 1.

Et si le dividende est plus petit que le diviseur ? Dans ce cas, le diviseur y va 0 fois, donc le reste est simplement le dividende lui-même. Par exemple, 2 % 3 est égal à 2, car 3 va dans 2 zéro fois avec un reste de 2.

Généralement, 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.

Lorsqu'on utilise le modulo avec des nombres à virgule flottante (doubles), cela fonctionne de manière similaire aux entiers mais conserve la précision décimale. Par exemple :

double result = 5.5 % 2.0;
// le résultat est 1.5

Voici comment cela fonctionne : 2.0 va dans 5.5 deux fois (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, de sorte que certains restes s'affichent avec une infime erreur. Par exemple, 5.2 % 2.0 affiche 1.2000000000000002 plutôt que 1.2. C'est un comportement normal des nombres à virgule flottante, pas une erreur dans votre code.

Un autre exemple :

double result = 7.5 % 3.5;
// le résultat est 0.5
challenge icon

Défi

Débutant

Écrivez 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, initialisez les variables suivantes :

  • d (int) qui contiendra le résultat de a modulo 2 
  • e (int) qui contiendra le résultat de a modulo 3
  • f (double) qui contiendra le résultat de b modulo 1.5
  • g (double) qui contiendra le résultat de b modulo 3.9
  • h (int) qui contiendra le résultat de c modulo 10

Vérifiez le résultat et voyez comment différents dividendes et diviseurs affectent le résultat.

Essayez vous-même

public class Main {
    public static void main(String[] args) {
        // Saisissez 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);
    }
}
quiz iconTestez-vous

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