pois eh, mas ele atribui i = i e depois faz i = i + 1 porém o codigo deveria fazer a mesma coisa que

int i = 0;

i = i;
i = i + 1;
System.out.println(i);

porém a saida deveria ser 1 e não 0, ou seja igual a saida de C++ com a mesma seção de código.

Sandro Brandão wrote:
004301c1bf77$c462fe80$[EMAIL PROTECTED]">
Isso é porque quando vc usa o i++ na atribuição, ele executa primeiro a
atribuição para depois incrementar a variável. Para a solução do problema
utilize ++i, ou seja: i = ++i;

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