De qual codigo voce estah falando?
class PlusPlusAEsquerdaRetornaUm public static void main (String[] a) { int i = 0; i = ++i; System.out.println(i); } ou class PlusPlusADireitaRetornaZero public static void main (String[] a) { int i = 0; i = i++; System.out.println(i); } Eh justamente esse o problema. Em que momento a variavel 'i' eh incrementada. Se eh usado i++, 'i' serah incrementada APOS o valor da expressao ser calculado, e o valor final de 'i' (APOS a atribuicao) serah ZERO. Se eh usado ++i, 'i' serah incrementada ANTES do valor da expressao ser calculado, e o valor final de 'i' (APOS a atribuicao) serah UM. Silvio On Wed, 27 February 2002, "Valdenia & Eduardo" wrote > > vcs me desculpem, mas eu compilei e obtive 1 e não zero. > É verdade que quando coloco i++ o java só avalia depois, mas depois de > que??? (depois de avaliar o resto da expressão, que neste caso termina no > ponto e vírgula). Quando chega na linha seguinte já deve estar como 1. > > Eduardo > ----- Original Message ----- > From: Renan Milfont <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Wednesday, February 13, 2002 8:36 AM > Subject: Re: [java-list] código obscuro!! > > > > Primeiro ele atribui o valor de i recebendo 0 e só depois ele faz a soma > > entedeu ? > > Para dar um, o código deveria ser assim. > > > > > { > > > int i = 0; > > > i = ++i; > > > System.out.println(i); > > > } > > > > > > > > > ----- 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] > > ------------------------------------------------------------------------- > > > > > ------------------------------ 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] -------------------------------------------------------------------------