Menu
Coddy logo textTech

Modulo Operator

Parte da seção Fundamentos do Journey de Java da Coddy — lição 16 de 73.

O operador módulo % fornece o resto de uma divisão. Em Java, ele é usado com uma sintaxe simples:

result = dividend % divisor;
  • dividendo: O número que está sendo dividido.
  • divisor: O número que divide o dividendo.
  • resultado: O resto da divisão.

Por exemplo:

result = 10 % 3;

Aqui, 10 é dividido por 3. O 3 cabe no 10 três vezes, com um resto de 1. Portanto, result será 1.

E se o dividendo for menor que o divisor? Nesse caso, o divisor cabe 0 vezes, então o resto é simplesmente o próprio dividendo. Por exemplo, 2 % 3 é igual a 2, porque o 3 cabe no 2 zero vezes com 2 de sobra.

Geralmente, o módulo é usado para verificar se um número é par ou ímpar:

  • Se um número for par, dividi-lo por 2 deixará um resto 0.
  • Se um número for ímpar, dividi-lo por 2 deixará um resto 1.

Ao usar o operador módulo com números de ponto flutuante (doubles), ele funciona de forma semelhante aos inteiros, mas mantém a precisão decimal. Por exemplo:

double result = 5.5 % 2.0;
// result é 1.5

Veja como funciona: 2.0 cabe em 5.5 duas vezes (4.0), e o resto é 1.5 (5.5 - 4.0 = 1.5).

Nota: valores double são armazenados como aproximações, então alguns restos são exibidos com um erro minúsculo. Por exemplo, 5.2 % 2.0 exibe 1.2000000000000002 em vez de 1.2. Isso é um comportamento normal de ponto flutuante, não um erro no seu código.

Outro exemplo:

double result = 7.5 % 3.5;
// o resultado é 0.5
challenge icon

Desafio

Iniciante

Escreva um código que inicialize três variáveis, a (int), b (double) e c (int) com os valores 9, 2.6 e 11 (respectivamente).

Depois disso, inicialize as seguintes variáveis:

  • d (int) que conterá o resultado de a módulo 2 
  • e (int) que conterá o resultado de a módulo 3
  • f (double) que conterá o resultado de b módulo 1.5
  • g (double) que conterá o resultado de b módulo 3.9
  • h (int) que conterá o resultado de c módulo 10

Confira o resultado e veja como diferentes dividendos e divisores afetam o resultado.

Experimente você mesmo

public class Main {
    public static void main(String[] args) {
        // Digite seu código abaixo
        
        
        // Não altere a linha abaixo
        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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos