Isso é por causa da procedencia do operador aritmético, para funcionar o que
você quer o comando deve ser i = ++i , assim será primeiro processada a
operação aritmética e depois o retorno do valor da variavel, sendo que i =
i++ , primeiro faz o retorno da variavel e depois a operação aritmética.

Pegadinhas do Java.

[]´s
Marcello Mendes


----- Original Message -----
From: "Cristiano Bianchi Sanchez" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, February 26, 2002 11:58 AM
Subject: [java-list] código obscuro!!


> Oi lista,
>
>   Alguém pode explicar porque a seguinte implementação retorna 0 (zero)?
>
>   {
>     int i = 0;
>     i = i++;
>     System.out.println(i);
>   }
>
>   Não seria mais 'lógico' retornar 1, como em C++ ?
>
> Abraços,
>
> CristianoBS
>
> ------------------------------ 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]
> -------------------------------------------------------------------------
>
>


------------------------------ 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