Operador de %

5 respostas
derheimen

Qual a diferença destes dois tipos de divisão:

System.out.println((3 % 2) +" / "+ (2 % 3));

Saída: 1 / 2

A 1º forma eu sei como funciona, é só dividir e pegar o resto.
Agora na 2º divisão, não consegui entender como funciona.

Alguém poderia me responder como funciona o operador de “%”(resto), quando o primeiro valor é menor do que o segundo ?
Desde de já agradeço.

5 Respostas

P

Funciona igual… 2 dividido por 3 da 0(zero) e resto 2, por isso a saída é 2

maquiavelbona

Bom dia,

ele retorna o valor normal. No caso:

  • 3%2 = quociente:1 resto: 1
  • 2%3 = quociente:0 resto: 2

Teste com outros valores e confirme.

Até!

derheimen

Me parece que quando na divisão, o 1º valor for menor o resultado será o valor dele próprio.
Fiz alguns testes aqui, e funcionou dessa forma.
Examplo:System.out.println((10 % 3)); System.out.println((3 % 10)+" "); System.out.println((3 % 10)+" "); System.out.println((5 % 23)+" "); System.out.println((4 % 15)+" "); System.out.println((23 % 85)+" "); System.out.println((7 % 35)+" ");
Saída: 3 3 5 4 23 7
Valeu galera, Fuiiiiii.

_Renatu

Sim, se você divide um número por um número maior, o quociente sempre vai ser zero e o resto igual ao número :roll:

ViniGodoy

Só um comentário.

Isso é muito útil para criar contadores ciclicos:

i = i+1 % 10;

Faz um contador que vai de 0 até 9 e depois volta para zero. :slight_smile:

Pode testar:

int i = 0; while (true) { System.out.println(i); i = (i+1) % 10; }

Criado 23 de janeiro de 2007
Ultima resposta 23 de jan. de 2007
Respostas 5
Participantes 5