A primeira vista � algo muito estranho... mas pensa o seguinte:

Quando voc� faz i += i, o lado direito considera o valor da vari�vel ( no
caso, 1). Logo, i = 2.
Por outro lado, quando voc� faz i++, primeiro � retornado o valor da
vari�vel ( ainda 1 ), e ap�s � incrementado. Logo, i=2.

Note que separando a soma em duas linhas, o resultado passa a ser 3.

[]'s
Cristofer

-----Mensagem Original-----
De: "Tenisson Chaves dos Santos J�nior" <[EMAIL PROTECTED]>
Para: <[EMAIL PROTECTED]>
Enviada em: quarta-feira, 15 de janeiro de 2003 13:31
Assunto: [java-list] D�vida em c�digo


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



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