Galera,

isto ainda está gerando duvida, heim!

Mas, lembrei-me do tempo da faculdade quando vi a explicacao para isto:
i = 0
i = i++

Inicialmente, o compilador ve a atribuicao de 0 para i, e reserva esta
atribuicao, porém, ele executa um incremento em i, antes de atribuir o zero
para o i.
É estranho, mas foi esta a explicacao que eu vi.


----- Original Message -----
From: "Luiz Reginaldo" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, March 11, 2002 9:12 AM
Subject: Re: [java-list] código obscuro!!


> Silvio,
>
>     Troque a atribuição i= i++ por algo como a= i++. Não utilize a mesma
> variável na atribuição.
>
> ----- Original Message -----
> From: Silvio L. DeMorais <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Tuesday, March 05, 2002 4:57 PM
> Subject: Re: [java-list] código obscuro!!
>
>
> > Caramba... esse troco estah gerando um monte de conversa mesmo.
> > Resolvi dar uma testada nesse negocio.
> >
> > Testei nos seguintes compiladores C/C++
> > Compilador C/C++ padrao do Sistema HP (Unix)
> > gcc compiler no Linux (RedHat 7.2) rodando em PC Intel
> > Compilador C/C++ padrao do Sistema Cray (Cray T-3E)
> >
> >
> > E as seguintes JVM's
> >
> > JDK 1.1.8 Sun
> > JDK 1.2.2 Sun
> > JDK 1.3.1_02 Sun
> > JDK 1.4 Sun   todos rodando em PC's Intel com Windows NT 4.0 SP 6
> >
> > JDK 1.3.0 instalada num HP (Unix)
> >
> >
> > Nao testei com JDK 1.0 porque nao tenho aqui no escritorio.
> >
> > Os testes foram os seguintes:
> > para Java
> >
> > class PlusPlusADireitaRetornaZero
> >
> >    public static void main (String[] a)
> >    {
> >       int i = 0;
> >       i = i++;
> >       System.out.println(i);
> >    }
> >
> >
> >
> > Para C
> >
> > #include <stdio.h>
> > int main ()
> >
> >   int i = 0;
> >   i = i++;
> >   fprintf("%i \n", i);
> >
> >
> > Para C++ (que eh a mesma coisa, no caso, mas... )
> >
> > #include <iostream>
> > int main ()
> >
> >   int i = 0;
> >   i = i++;
> >   cout << i << '\n';
> >
> >
> >
> > Resultados:  zero, sempre zero, jamais algo diferente de zero. Em todas
as
> > plataformas/linguagens.
> > Ainda estou para ver uma situacao que retorne UM.
> > Me digam qual o caso que retorna 1, mas mandem completo:
> > Compilador, versao do compilador, SO, versao do SO, SP aplicados (se
> algum),
> > plataforma de hardware usada (PC Intel, PC AMD, HP, ...).
> >
> > Silvio
> >
> >
> >
> >
> >
> >
> > On Mon, 04 March 2002, Carlos Villela wrote
> >
> > >
> > > Ate' agora, eu so vi programas deste tipo implementados em C/C++
> > > resultarem em 1 (nos compiladores gcc e turboc-4.5) e implementacoes
em
> > > Java retornarem 0 (nas jdks 1.3 e 1.4 da sun, jdk 1.3 da ibm). Em
quais
> > > compiladores/JVMs vc viu este comportamento mudar?
> > >
> > > Sven van ´t Veer wrote:
> > >
> > > > Não tem, até diversas compiladores C++ tem comportamento diferente,
e
> > > > parece diversas JVM também tem comportamento diferente.
> > > >
> > > > csuco wrote:
> > > >
> > > >>o codigo em C ou C++...
> > > >>
> > > >>int main() {
> > > >>  int i = 0;
> > > >>  i = i++;
> > > >>  fprintf (stdou,"i = %ld",i);
> > > >>}
> > > >>
> > > >>
> > > >>teria exatamente o mesmo comportamento!
> > > >>
> > > >>
> > > >>Clebert
> > > >>
> > > >>
> > > >>
> > > >>>---------- Mensagem original -----------
> > > >>>
> > > >>>De      : Agnelo de Jesus <[EMAIL PROTECTED]>
> > > >>>Para    : [EMAIL PROTECTED]
> > > >>>Cc      :
> > > >>>Data    : Wed, 27 Feb 2002 09:05:45 -0300
> > > >>>Assunto : Re: [java-list] código obscuro!!
> > > >>>
> > > >>>Caro Cristiano,
> > > >>>
> > > >>>Quando você utiliza o incremento à direita do número,(i++), você
> > > >>>
> > > >>primeiro
> > > >>
> > > >>>retorna o número e depois soma 1.
> > > >>>Para você fazer aquilo que pretendia,(não existe necessidade), você
> > > >>>
> > > >>deveria
> > > >>
> > > >>>utilizar o incremento à esquerda do número (++i).
> > > >>>Isto vale também para a linguagem C++, verifique se o que você
> > > >>>
> > > >>afirmou
> > > >>
> > > >>>realmente ocorre, o que seria verdadeiramente obscuro :).
> > > >>>
> > > >>>Espero ter ajudado
> > > >>>[]s,
> > > >>>
> > > >>>Agnelo de Jesus.
> > > >>>
> > > >>>{
> > > >>> int i = 0;
> > > >>> i = i++;
> > > >>> System.out.println(i);
> > > >>>}
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>Em 26 Feb 2002, [EMAIL PROTECTED] escreveu:
> > > >>>
> > > >>>>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 java-list-
> > > >>>>
> > > >>[EMAIL PROTECTED]
> > > >>
> > >
>>>>-------------------------------------------------------------------
> > > >>>>
> > > >>------
> > > >>
> > > >>>>----------
> > > >>>>
> > > >>>
> > > >>>
> > > >>>                                                Agnelo de Jesus.
> > > >>>
> > > >>>_________________________________________________________
> > > >>>Oi! Você quer um iG-mail gratuito?
> > > >>>Então clique aqui: http://registro.ig.com.br/censo/igmail
> > > >>>
> > > >>>
> > > >>>------------------------------ 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 java-list-
> > > >>>
> > > >>[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]
> > >
>
>>-------------------------------------------------------------------------<
> > > >>br>
> > > >>
> > > >
> > > >--
> > > >"'You guys (at Microsoft) still don't get it,'
> > > >because it's sort of Java with reliability, productivity and security
> > deleted."
> > > >
> > > > James Gosling
> > > >
> > > >
> > >
> > >
> > >
> > >
> > > ------------------------------ 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]
>
> -------------------------------------------------------------------------
> >
>
>
> ------------------------------ 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]
> -------------------------------------------------------------------------
>


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.333 / Virus Database: 187 - Release Date: 08/03/2002


------------------------------ 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