Caro amigo, neste caso a operação é pos-fixada, ou seja, primeiro se atribui o valor antes do incremento da variavel e entao este ocorre. Este caso é especial, pois se utiliza a mesma variavel. Note que o proprio i++ é uma atribuicao de i = i + 1. a linha correta seria somente "i++;" ou "i+=1;" para que o resultado fosse 1. No seu caso o valor de i permanece como o valor antes do incremento. Como na especificacao: "...The value of the postfix increment expression is the value of the variable before the new value is stored..."
Resumo: O efeito do codigo "i = i++;" é o mesmo efeito que o do codigo "i = i" e nao representa efeito igual ao que foi exposto que seria: "i = i; i++;" (este efeito nao ocorre para o codigo apresentado) Espero ter ajudado consani -----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] -------------------------------------------------------------------------