Pesquisar neste blog

quinta-feira, 3 de junho de 2010

Pré e pós Incremento. Java

Seguindo os estudos no site Black Belt vou postar alguns dos pontos mais interessantes.
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