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.5Veja 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.5Desafio
InicianteEscreva 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 deamódulo2e (int)que conterá o resultado deamódulo3f (double)que conterá o resultado debmódulo1.5g (double)que conterá o resultado debmódulo3.9h (int)que conterá o resultado decmódulo10
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);
}
}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
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else