i = 1 i += ---> 1+1 = 2 Isto acontece porque a variável "i" que está do lado direito, primeiro é atribuída a variável "i" do lado esquerdo, ficando o sinal de ++ sem função para o lado esquerdo da expressão, no entanto a variável "i" do lado direito dá uma expectativa de que como ela já havia sido alocada pelo lado esquerdo com o valor 2, ela atualizasse seu valor em mais um, ficando 2+1=3, o que não acontece, porque quando a expressão é formada, uma cópia de "i" foi feita antes da atualização do "i" do lado esquerdo, então o "i" do lado direito é a variável mais recente e atualizará a memória com: último valor de "i" para instância mais atual + um = 1 + 1 = 2. Espero não ter sido muito confuso.
----- Original Message ----- From: "Tenisson Chaves dos Santos Júnior" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, January 15, 2003 11:31 AM Subject: [java-list] Dúvida em código Pessoal, No código abaixo , eu esperava obter "3" no valor da variável i. No entanto , o valor retornado é "2" . Alguém poderia me explicar o porquê disso ? public class Teste{ public static void main(String args[]) { int i=1 ; i += i++ ; System.out.println(i); } } Obrigado, Tenisson Chaves Jr. ------------------------------ 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] -------------------------------------------------------------------------