Porque o operador ++ está pós-fixado. Dessa forma, o valor utilizado na expressão é o valor "antigo" de i (1), que só depois é incrementado. Se vc fizer i += ++i, vc terá o que deseja, já que nesse caso o operador é pré-fixado e i será incrementado antes de ser usado na expressão. >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] >------------------------------------------------------------------------- > +++++++++++++++++++++++++++++++++++ Ana Paula Brandão Lopes, M. Sc. Universidade Estadual de Santa Cruz Ilhéus-BA 73-680-5271 +++++++++++++++++++++++++++++++++++
------------------------------ 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] -------------------------------------------------------------------------