É só um teste que caiu em uma entrevista de emprego.

 Mas a pegadinha é que o operador '++' tem maior precedência que o operador '=' .

 O trecho deve funcionar da seguinte forma:
  1. Avalia o valor de i primeiro (que é zero).
  2. Incrementar o i para 1;
  3. Atribui o valor avaliado de i (que foi zero) para a atribuição, então o i volta a 
ser zero.

 Está na especificação do Java que operadores ++ são dependentes da implementação da 
JVM.
 
Cuidado pessoal...


On Wed, 27 Feb 2002 01:23:35 -0300
"Paulo Bruno Contopoulos" <[EMAIL PROTECTED]> wrote:

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

Responder a