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

Voici 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.5
challenge icon

Dé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 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

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);
    }
}
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

Entraînez-vous par vous-même : Compilateur Java en ligne