N�o! Veja bem amigo, em Java existem duas possibilidades diferentes de se
fazer incrementos. Estas duas maneiras seriam, de acordo com seu exemplo:
1) i = i++;
ou
2) i = ++i;

No seu exemplo, o Java primeiro leu o valor de i (que vc declarou sendo 0) e
,s� depois de ter lido o valor de i (zero), ele fez o incremento da
vari�vel!
Se vc tivesse colocado
i = ++i; 
a� sim, o Java faria primeiro o incremento (adicionando 1 � sua vari�vel i)
e DEPOIS leria o valor. Neste �ltimo caso, a� sim, o seu programa imprimiria
1... ok?

[]�s!


Paulo Andr� Antonialli 
Analista de Sistemas - NDS
[EMAIL PROTECTED]
F�ton� Inform�tica e Servi�os 
http://www.foton.la 
Fone: (61) 328-5060 R.: 216 

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

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