Se fizer i = i + i++; dá o mesmo resultado (2), mas dá pra entender melhor o problema, né? O compilador pega o i (1) e soma com o i++ (1) e joga no i.
O ++ se perde mesmo, neste caso.
Se fizer i = i++ + i; o resultado será 3.
Acho que a definição de += é que 'a += b' equivale a 'a = a + b'.
Tenisson Chaves dos Santos Júnior writes:
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] -------------------------------------------------------------------------
---
Mauro Ramos Martini
[EMAIL PROTECTED]
counter.li.org#225287
------------------------------ 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] -------------------------------------------------------------------------