Ola Lista,

Para entender o que acontece precisamos apenas decompilar o .class.

Ao analisarmos o assembly que a maquina virtual executa tudo fica
claro..



int i = 0;
    // iconst_0  -> joga o int 0 no stack
    // istore_1  -> pega o valor no stack e grava na variavel local 1

i = i++;
    // iload_1    -> pega o valor da variavel local 1 e a joga no stack
    // iinc 1  1  -> incrementa a variavel local 1 em 1 unidade
    // istore_1   -> pega o valor no stack e grava na variavel local 1

logo a instrucao iinc 1 1 nao tem nenhum efeito pratico como era de se
esperar.


Logo idependente do compilador ou da JVM obteremos o mesmo resultado
pois o compilador e a JVM
devem seguir as especificacoes da Sun.

T+
Luciano Ribas
Desenv. Sistemas
[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