Primeiro algo que eu já tinha visto antes porém andava meio esquecido na mente =p
a diferença de um pré-incremento para um pós-incremento.
Segue exemplo do site
int v = 0; v++; int amount = v++; System.out.println(++v + " " + amount); System.out.println(v);A saída será
3 1
3
Agora detalhando
Inicialmente a variável v recebe o valor 0.
na segunda linha a variável v é incrementada em 1.
Na terceira linha é que começa a mágica. como a varíavel foi pós incrementada primeiro ocorre a transação de amount receer o valor atual de v e só depois que v é incrementado.
Na quarta linha como v é pré-incrementado ele primeiro tem seu valor adicionado de 1 para só então o println imprimir.(já com o valor incrementado de v.
e a última linha apenas repete o valor de v.
Se por exemplo modificarmos o programa para que fique assim
int v = 0; v++; int amount = v++; System.out.println(v++ + " " + amount); System.out.println(v);
A saída já será
2 1
3
O motivo é
na quarta linha agora o v é pós incrementado. Com isso primeiro ocorre o println e só então que ele adiciona o valor de v em mais 1 e na quinta linha ele imprime este valor incrementado.
Bem é isso... Foi o que achei legal desse começo do material.
Nenhum comentário:
Postar um comentário