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

Responder a