Voce estah enganado. i = i++; Nao eh equivalente a i = i; i = i + 1;
i = i++; Eh equivalente a: exp = i; i = i + 1; i = exp; onde 'exp' eh a expressao a direita do sinal de atribuicao '='. Essa regra existe em qualquer linguagem que inplemente OPERADOR de auto incremento/decremento que eu conheca (C, C++, Java e C#), nao confundir com as funcoes dec() e inc() do Pascal/Delphi, que nao tem esse problema de precedencia. E o que difere no caso de i = ++i; eh justamente a ordem das operacoes no calculo da expressao, veja: i = ++i; Eh equivalente a: i = i + 1; exp = i; i = exp; On Wed, 27 February 2002, "Silva, Jobson" wrote > > O resultado correto deveria ser UM ! > > O trecho > i = i++; > eh equivalente a > i = i; > i = i + 1; > > Se esta retornando ZERO tem alguma coisa errada ai ! Alguem sabe ??? > > []s > Jobson Silva > > -----Original Message----- > From: Paulo Bruno Contopoulos [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, 27 February, 2002 01:24 > To: [EMAIL PROTECTED] > Subject: RES: [java-list] código obscuro!! > > > > > > -----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++ ? > > > > Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás, > porque não fazer i++ direto, ou você só estava fazendo um teste? > > > []'s, > > Paulo Bruno Contopoulos > > > ------------------------------ 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] > ------------------------------------------------------------------------- ------------------------------ 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] -------------------------------------------------------------------------