Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Não entendi! - Operadores de incremento em Java

Não entendi!

Este é o código fornecido no curso...

int num = 5;
int resultado = num++; //num é atribuído primeiramente à variável resultado e depois incrementado para 6
System.out.println(num); // imprime 6
System.out.println(resultado); // imprime 5

Por quê neste código o "System.out.println(num);" será imprimido 6 se demos o valor da variável "num" apenas como 5? E por quê em "System.out.println(resultado);" imprime 5 se ele é igual a num++, ou seja, 5+1...

3 respostas

Olá, está correto.

o num++ retorna o valor 5 e só depois incrementa. Se vc quiser retornar 6, ou seja, o valor já incrementado, tem que usar ++num.

solução!

Olá Gabriel, tudo bem?

Nesse exemplo, o valor de num é 5, conforme atribuido aqui nessa linha:

int num = 5;

Quando você faz o comando dessa linha aqui: int resultado = num++; , é como se duas coisas tivessem acontecendo:

Primeiro:

int resultado = num;

Depois:

num = num + 1;

Exatamente na ordem acima. Primeiro ele pega o valor original de num (que era 5) e atribui à variável resultado. Depois ele incrementa o valor de num. E é por isso que ao imprimir, num está com valor 6 e resultado continua com o valor 5.

Essa é a diferença que cito de pré-incremento e pós-incremento. No pós-incremento, primeiro ele atribui o valor original de num (que é 5) para a variável resultado e só depois, ele incrementa num.

Caso a dúvida persista, não deixe de nos avisar por aqui.

Bons estudos! 😄

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Olá Jacqueline, tudo bem?

Não sei se é o fórum adequando, mas como explicar o valor 19 a variável resultado, após as 2 linhas de código a seguir:

int num = 5;
int resultado = num++ + ++num + num++;

Qual a ordem das operações?