003401c1bfed$a46c7450$[EMAIL PROTECTED]">
Então: a atribuição (i=(i) que é 0) ele guarda num determinado endereço, e
realiza o incremento i++, que nada mais é do que i=i+1, que é i=1.
Ok, o incremento foi realizado, agora ele vai naquele endereço que guardou o
0 e faz i=0;
Logo em determinado instante i se torna 1 mas no final recebe o 0.
É mais ou menos isso o que acontece a pergunta é se é certo...
003401c1bfed$a46c7450$[EMAIL PROTECTED]">
Se for feito i=++i, ele irá primeiro incrementar para depois atribuir o
valor de i=(i), que é 1. Por isso é que dá 1 no final.
Façam o teste com outra variável, por exemplo: k=i++; e depois k=++i;
Creio que deva ajudar a endender minha linha de raciocínio.
Pois é, esse é a diferenca entre pre-increment e post increment operator.
003401c1bfed$a46c7450$[EMAIL PROTECTED]">
----- Original Message -----
From: "Paulo Bruno Contopoulos" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, February 27, 2002 4:23 AM
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]
-------------------------------------------------------------------------
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.325 / Virus Database: 182 - Release Date: 02/19/2002
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
------------------------------ 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]
-------------------------------------------------------------------------
--
"'You guys (at Microsoft) still don't get it,'
because it's sort of Java with reliability, productivity and security deleted."
James Gosling