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