Não! Veja bem amigo, em Java existem duas possibilidades diferentes de se fazer incrementos. Estas duas maneiras seriam, de acordo com seu exemplo: 1) i = i++; ou 2) i = ++i;
No seu exemplo, o Java primeiro leu o valor de i (que vc declarou sendo 0) e ,só depois de ter lido o valor de i (zero), ele fez o incremento da variável! Se vc tivesse colocado i = ++i; aí sim, o Java faria primeiro o incremento (adicionando 1 á sua variável i) e DEPOIS leria o valor. Neste último caso, aí sim, o seu programa imprimiria 1... ok? []´s! Paulo André Antonialli Analista de Sistemas - NDS [EMAIL PROTECTED] Fóton® Informática e Serviços http://www.foton.la Fone: (61) 328-5060 R.: 216 -----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++ ? Abraços, CristianoBS ------------------------------ 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] -------------------------------------------------------------------------