Operador Matemático ++ ou --
- #Java
Recentemente vi um desafio postado por uma pessoa (neste momento não lembro bem que era mais ou menos como segue abaixo):
int a = 10;
int b = 5;
System.out.println(a++ * --b);
Questionando qual seria a saida no console.
O valor de saida é 40, mas o por que é 40? (alguns talvez saibam, outros não)
A saída é 40 por que o operador ++ a direita da variavel usa o valor contido na variavel para fazer a conta e o operador -- a esquerda faz a decrementa primeiro (se caso fosse ++ incrementaria primeiro) e depois faz a conta.
Traduzindo para numeros seria.
a++ * --b => 10 * 4 => 40
um resumo da explicação ficaria.
++x forma pré-fixada: incrementa a variavel então usa o valor na expressão
x++ forma pós-fixada: o valor é usado na expressão depois então é incrementado o valor na variavel
isso pode ser comprovado se vc executar o codigo abaixo:
int a = 10;
int b = 5;
int a1, b1;
a1 = a++;
b1 = --b;
System.out.println(a1);
System.out.println(b1);
Espero ter ajudado as pessoas que precisam.