� um teste interessante bruno...

Creio que o procedimento n�o ceja bem atribuir antes e realizar o incremento
depois, j� que o incremento se d� na mesma vari�vel que recebe o zero.

Acho que o comportamento � o seguinte:
Quando o interpratador verifica o tipo de instru��o ele sabe que tem que
fazer uma atribui��o primeiro, mas nesta atribui��o temos uma instru��o
antes.
Ent�o: a atribui��o (i=(i) que � 0) ele guarda num determinado endere�o, e
realiza o incremento i++, que nada mais � do que i=i+1, que � i=1.
Ok, o incremento foi realizado, agora ele vai naquele endere�o que guardou o
0 e faz i=0;
Logo em determinado instante i se torna 1 mas no final recebe o 0.

Se for feito i=++i, ele ir� primeiro incrementar para depois atribuir o
valor de i=(i), que � 1. Por isso � que d� 1 no final.

Fa�am o teste com outra vari�vel, por exemplo: k=i++;  e depois k=++i;
Creio que deva ajudar a endender minha linha de racioc�nio.






----- Original Message -----
From: "Paulo Bruno Contopoulos" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, February 27, 2002 4:23 AM
Subject: RES: [java-list] c�digo obscuro!!




> -----Mensagem original-----
> De: Cristiano Bianchi Sanchez [mailto:[EMAIL PROTECTED]]
> Enviada em: ter�a-feira, 26 de fevereiro de 2002 11:59
> Para: [EMAIL PROTECTED]
> Assunto: [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++ ?
>

N�o, porque quando voc� coloca i++, ele atribui antes de adicionar. Ali�s,
porque n�o fazer i++ direto, ou voc� s� estava fazendo um teste?


[]'s,

Paulo Bruno Contopoulos


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


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.325 / Virus Database: 182 - Release Date: 02/19/2002


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


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