Porque o operador ++ está pós-fixado. Dessa forma, o valor utilizado na expressão é o 
valor 
"antigo" de i (1), que só depois é incrementado. Se vc fizer i += ++i, vc terá o que 
deseja, 
já que nesse caso o operador é pré-fixado e i será incrementado antes de ser usado na 
expressão. 
>Pessoal,
>
> No código abaixo , eu esperava obter  "3" no valor da variável i. No
>entanto , o valor retornado é "2" .
> Alguém poderia me explicar o porquê disso ?
>
>public class Teste{
>       public static void main(String args[]) {
>               int i=1 ;
>               i += i++ ;
>               System.out.println(i);
>       }
>}
>
>Obrigado,
>
>Tenisson Chaves Jr.
>
>
>------------------------------ LISTA SOUJAVA ---------------------------- 
>http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
>dúvidas mais comuns: http://www.soujava.org.br/faq.htm
>regras da lista: http://www.soujava.org.br/regras.htm
>historico: http://www.mail-archive.com/java-list%40soujava.org.br
>para sair da lista: envie email para [EMAIL PROTECTED] 
>-------------------------------------------------------------------------
>
+++++++++++++++++++++++++++++++++++
Ana Paula Brandão Lopes, M. Sc. 
Universidade Estadual de Santa Cruz
Ilhéus-BA
73-680-5271
+++++++++++++++++++++++++++++++++++ 



------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a