deve ser claro que o código é redundante, a questão é se o resultado é o esperado pela especificação da linguagem Java sim ou não. Na minha opinião não é uma vez que i = i++ pode ser escrito como i = i; i++;, que no caso retornaria 1 em vez de 0.

Giuliano de Aquino wrote:
00da01c1bf94$e917ca40$0b01a8c0@KNSDOMAIN">
i = ++i;
//retornaria 1 mas é muito redundante, utilize i++; ou ++i; apenas...

----- 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%40sou java.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]
-------------------------------------------------------------------------


-- 
"'You guys (at Microsoft) still don't get it,' 
because it's sort of Java with reliability, productivity and security deleted."

					James Gosling

Responder a