Re: [java-list] Código Obscuro!

2002-04-16 Por tôpico Lincolm Ferreira de Aguiar



É que na verdade "goto _L2" deve ser 
algo do tipo goto_L2 mesmo, talvez o caractere entre goto e _L2 não seja vísvel, 
ou a palavra goto foi criada pelo ofuscadador em algum ponto. Por isso seu JDK 
não compila ela.

Lincolm

  - Original Message - 
  From: 
  Guilherme 
  To: [EMAIL PROTECTED] 
  Sent: Monday, April 15, 2002 5:36 
PM
  Subject: Re: [java-list] Código 
  Obscuro!
  
  ola Lincon!, q esta ofuscado eu sabia, mas todos 
  os ofuscador q eu vi ate hj so trocavam nome de metodos e de variaveis.. 
  neste caso tinha varios goto achei muito estranto isso foi obra do 
  ofuscador?
   Etem outra: ojdk 
  nao compila a linha q tem "goto"q é uma palavra reservada, mas compila a linha 
  qte "_T1:"
  
  para o java o q é o "_T1:" ou 
  "str_qualquer:"
  
  guilherme.
  
- Original Message - 
From: 
Lincolm Ferreira de Aguiar 

To: [EMAIL PROTECTED] 
Sent: Monday, April 15, 2002 1:25 
PM
Subject: Re: [java-list] Código 
Obscuro!

Olá Guilherme. Esse código está 
ofuscado. O programador não tinha a intenção de "permitir" que outras 
pessoas tivessem acesso a ele então usou um ofuscador de 
códigos.

Lincolm

  - Original Message - 
  From: 
  Guilherme 
  To: [EMAIL PROTECTED] 
  Sent: Monday, April 15, 2002 11:05 
  AM
  Subject: [java-list] Código 
  Obscuro!
  
  
  Quer ter seu próprio endereço na Internet?Garanta já o seu e ainda 
  ganhe cinco e-mails personalizados.DomíniosBOL - http://dominios.bol.com.br
  

  
  

  ola! Galera!!!
  
  decompilei um codigo p/ dar uma estudada e 
  encontrei a a seguinte faixa de codigo:
  
   
  if(!flag) goto _L2; else goto 
  _L1_L1:g1.setColor(Color.red);
  _L10: if(l1 != 0) 
  goto _L4; else goto 
  _L3_L3: 
  g1.setColor(Color.black);
  
  Então..; eu nunca vi uma implementação de 
  "goto" no java, e quando eu tentei compilar 
  tb deu erro ai eu naum entendi mais nada
  dava erro de "illegal start of 
  expression" no goto.. algem ja viu isso?
  
  guilherme
  [EMAIL PROTECTED]
  


Re: [java-list] Código Obscuro!

2002-04-16 Por tôpico Antonio



Oi amigos do Fórum,
fiquei curioso sobre este código, apesar de ser 
iniciante, peguei um livro sobre java
extraidos do "Java 1001 Dicas de Programação - 
Makron Books" ,a respeito do goto dá uma olhadinha:

Pag 138 e 139
Java não possui a instrução 
Goto
Durante anos os programadores foram alertados dos 
perigos de utilizar a instrução goto.Em geral, as críticas à instrução goto 
evoluiram porque o programador abusava de goto, o que gerava um código difícil 
de ler.Porém, na realidade, a instrução goto não é em si ruim, e de fato o uso 
de goto frequentemente gera códigos muito fáceis de compreender. Apesar do fato 
de o uso adequado da instrução goto poder gerar código compreensível e bem 
estruturado, a instrução goto nunca foi popular em C/C++. Em qualquer 
caso, Java não utiliza a instrução goto. Porém goto é uma palavra reservada, de 
forma que o compilador poderá detectar qualquer uso errado da construção 
goto.

e outra
Pag 42

Palavras-chave 
 Significado
goto  

 Reservado para utilização futura (Não é 

utilizadoatualmente 
em Java.)

Bom a minha pergunta é ou não é palavra-chave 
reservado??

Será que tem alguma versão do Java anterior 
ou as primeiras versões estão funcionando esta palavra reservada.
Desculpe se falar besteira me corrigem, Será que 
seu JVM com release antigo, está adpatado à receber este código 
goto.
Para mim não caiu da minha cabeça como a JVM sabe 
que aquele codigo é um ofuscador.

Até mais!!
Antonio

  - Original Message - 
  From: 
  Lincolm Ferreira de Aguiar 
  To: [EMAIL PROTECTED] 
  Sent: Tuesday, April 16, 2002 8:16 
  AM
  Subject: Re: [java-list] Código 
  Obscuro!
  
  É que na verdade "goto _L2" deve 
  ser algo do tipo goto_L2 mesmo, talvez o caractere entre goto e _L2 não seja 
  vísvel, ou a palavra goto foi criada pelo ofuscadador em algum ponto. Por isso 
  seu JDK não compila ela.
  
  Lincolm
  
- Original Message - 
From: 
Guilherme 
To: [EMAIL PROTECTED] 
Sent: Monday, April 15, 2002 5:36 
PM
    Subject: Re: [java-list] Código 
Obscuro!

ola Lincon!, q esta ofuscado eu sabia, mas 
todos os ofuscador q eu vi ate hj so trocavam nome de metodos e de 
variaveis.. neste caso tinha varios goto achei muito estranto isso foi 
obra do ofuscador?
 Etem outra: ojdk 
nao compila a linha q tem "goto"q é uma palavra reservada, mas compila a 
linha qte "_T1:"

para o java o q é o "_T1:" ou 
"str_qualquer:"

guilherme.

  - Original Message - 
  From: 
  Lincolm Ferreira de Aguiar 
  To: [EMAIL PROTECTED] 
  Sent: Monday, April 15, 2002 1:25 
  PM
  Subject: Re: [java-list] Código 
  Obscuro!
  
  Olá Guilherme. Esse código 
  está ofuscado. O programador não tinha a intenção de "permitir" que outras 
  pessoas tivessem acesso a ele então usou um ofuscador de 
  códigos.
  
  Lincolm
  
- Original Message - 
From: 
Guilherme 
To: [EMAIL PROTECTED] 
    Sent: Monday, April 15, 2002 11:05 
AM
Subject: [java-list] Código 
Obscuro!


Quer ter seu próprio endereço na Internet?Garanta já o seu e ainda 
ganhe cinco e-mails personalizados.DomíniosBOL - http://dominios.bol.com.br





ola! Galera!!!

decompilei um codigo p/ dar uma estudada e 
encontrei a a seguinte faixa de codigo:

 
if(!flag) goto _L2; else goto 
_L1_L1:g1.setColor(Color.red);
_L10: if(l1 != 0) 
goto _L4; else goto 
_L3_L3: 
g1.setColor(Color.black);

Então..; eu nunca vi uma implementação de 
"goto" no java, e quando eu tentei 
compilar tb deu erro ai eu naum entendi mais nada
dava erro de "illegal start of 
expression" no goto.. algem ja viu isso?

guilherme
[EMAIL PROTECTED]



[java-list] Código Obscuro!

2002-04-15 Por tôpico Guilherme



ola! Galera!!!

decompilei um codigo p/ dar uma estudada e 
encontrei a a seguinte faixa de codigo:

 if(!flag) goto 
_L2; else goto 
_L1_L1:g1.setColor(Color.red);
_L10: 
if(l1 != 0) goto _L4; else goto 
_L3_L3: 
g1.setColor(Color.black);

Então..; eu nunca vi uma implementação de 
"goto" no java, e quando eu tentei compilar tb 
deu erro ai eu naum entendi mais nada
dava erro de "illegal start of expression" no 
goto.. algem ja viu isso?

guilherme
[EMAIL PROTECTED]



RES: [java-list] Código Obscuro!

2002-04-15 Por tôpico Anderson Macedo Silva



sinistro nunca vi tb..

Anderson Macedo Silva 
Impactools - The wise solution 
that fits Centro 
Empresarial de São Paulo Telefone: 5853-2136 

  -Mensagem original-De: Guilherme 
  [mailto:[EMAIL PROTECTED]]Enviada em: segunda-feira, 15 de 
  abril de 2002 11:06Para: 
  [EMAIL PROTECTED]Assunto: [java-list] Código 
  Obscuro!
  ola! Galera!!!
  
  decompilei um codigo p/ dar uma estudada e 
  encontrei a a seguinte faixa de codigo:
  
   if(!flag) 
  goto _L2; else goto 
  _L1_L1:g1.setColor(Color.red);
  _L10: if(l1 != 0) goto 
  _L4; else goto _L3_L3: 
  g1.setColor(Color.black);
  
  Então..; eu nunca vi uma implementação de 
  "goto" no java, e quando eu tentei compilar tb 
  deu erro ai eu naum entendi mais nada
  dava erro de "illegal start of expression" 
  no goto.. algem ja viu isso?
  
  guilherme
  [EMAIL PROTECTED]
  


Re: [java-list] Código Obscuro!

2002-04-15 Por tôpico Lincolm Ferreira de Aguiar



Olá Guilherme. Esse código está 
ofuscado. O programador não tinha a intenção de "permitir" que outras pessoas 
tivessem acesso a ele então usou um ofuscador de códigos.

Lincolm

  - Original Message - 
  From: 
  Guilherme 
  To: [EMAIL PROTECTED] 
  Sent: Monday, April 15, 2002 11:05 
  AM
  Subject: [java-list] Código 
Obscuro!
  
  
  Quer ter seu próprio endereço na Internet?Garanta já o seu e ainda ganhe 
  cinco e-mails personalizados.DomíniosBOL - http://dominios.bol.com.br
  

  
  

  ola! Galera!!!
  
  decompilei um codigo p/ dar uma estudada e 
  encontrei a a seguinte faixa de codigo:
  
   if(!flag) 
  goto _L2; else goto 
  _L1_L1:g1.setColor(Color.red);
  _L10: if(l1 != 0) goto 
  _L4; else goto _L3_L3: 
  g1.setColor(Color.black);
  
  Então..; eu nunca vi uma implementação de 
  "goto" no java, e quando eu tentei compilar tb 
  deu erro ai eu naum entendi mais nada
  dava erro de "illegal start of expression" 
  no goto.. algem ja viu isso?
  
  guilherme
  [EMAIL PROTECTED]
  


Re: [java-list] Código Obscuro!

2002-04-15 Por tôpico Orbitall 1 Centro de Competencia


Cara,

goto é palavra reservada, mas nao tem implementação.

é o caso tambem do const.

[]s
Leandro



Guilherme [EMAIL PROTECTED] on 15/04/2002 11:35:33

Please respond to [EMAIL PROTECTED]

To:   [EMAIL PROTECTED]
cc:
Subject:  [java-list] Código Obscuro!




ola! Galera!!!

decompilei um codigo p/ dar uma estudada e  encontrei a a seguinte faixa de
codigo:

   if(!flag) goto  _L2; else goto  _L1
_L1:
g1.setColor(Color.red);
_L10:
     if(l1 != 0) goto _L4; else goto  _L3
_L3:
     g1.setColor(Color.black);

Então..; eu nunca vi uma implementação de  goto no java, e quando eu
tentei compilar tb  deu erro ai eu naum entendi mais nada
dava erro de  illegal start of expression no  goto.. algem ja viu
isso?

guilherme
[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]
-




Re: [java-list] Código Obscuro!

2002-04-15 Por tôpico [Carlos H.]



Guilherme, no sei exatamente qual o termo utilizado para isso, mas sei que
existem formas de se "embaralhar" um cdigo para que ao ser "descompilado"
ele retorne cdigo aparentemente sem sentido.
Algum por favor me corrija caso eu esteja errado!

[]s

Carlos

Guilherme wrote:
000d01c1e486$9c8b25c0$[EMAIL PROTECTED]">
  
  
  ola! Galera!!!
  
  decompilei um codigo p/ dar uma estudada
e  encontrei a a seguinte faixa de codigo:
  
   if(!flag) goto  _L2; else goto
 _L1
_L1:
g1.setColor(Color.red);
  _L10:
  if(l1 != 0) goto _L4; else goto  _L3
_L3:
  g1.setColor(Color.black);
  
  Ento..; eu nunca vi uma implementao
de  "goto" no java, e quando eu tentei
compilar tb  deu erro ai eu naum entendi mais nada
  dava erro de "illegal start of expression"
no  goto.. algem ja viu isso?
  
  guilherme
  
[EMAIL PROTECTED]
  
  
  
  
  


Re: [java-list] Código Obscuro!

2002-04-15 Por tôpico Guilherme



ola Lincon!, q esta ofuscado eu sabia, mas todos os 
ofuscador q eu vi ate hj so trocavam nome de metodos e de variaveis.. neste 
caso tinha varios goto achei muito estranto isso foi obra do 
ofuscador?
 Etem outra: ojdk nao 
compila a linha q tem "goto"q é uma palavra reservada, mas compila a linha 
qte "_T1:"

para o java o q é o "_T1:" ou 
"str_qualquer:"

guilherme.

  - Original Message - 
  From: 
  Lincolm Ferreira de Aguiar 
  To: [EMAIL PROTECTED] 
  Sent: Monday, April 15, 2002 1:25 
PM
  Subject: Re: [java-list] Código 
  Obscuro!
  
  Olá Guilherme. Esse código está 
  ofuscado. O programador não tinha a intenção de "permitir" que outras pessoas 
  tivessem acesso a ele então usou um ofuscador de códigos.
  
  Lincolm
  
- Original Message - 
From: 
Guilherme 
To: [EMAIL PROTECTED] 
Sent: Monday, April 15, 2002 11:05 
    AM
Subject: [java-list] Código 
Obscuro!


Quer ter seu próprio endereço na Internet?Garanta já o seu e ainda ganhe 
cinco e-mails personalizados.DomíniosBOL - http://dominios.bol.com.br





ola! Galera!!!

decompilei um codigo p/ dar uma estudada e 
encontrei a a seguinte faixa de codigo:

 if(!flag) 
goto _L2; else goto 
_L1_L1:g1.setColor(Color.red);
_L10: if(l1 != 0) goto 
_L4; else goto _L3_L3: 
g1.setColor(Color.black);

Então..; eu nunca vi uma implementação de 
"goto" no java, e quando eu tentei compilar 
tb deu erro ai eu naum entendi mais nada
dava erro de "illegal start of 
expression" no goto.. algem ja viu isso?

guilherme
[EMAIL PROTECTED]



Re: [java-list] código obscuro!!

2002-03-23 Por tôpico Pedro Henrique da Silva

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

Re: [java-list] código obscuro!!

2002-03-12 Por tôpico Emerson Santana Pardo

Fiz os testes em:

-Borland C++ 5.02, Windows NT 4.0 SP6, Pentium III e o resultado foi 1 (um) 
para o programa .c;
-compilador gcc do Linux Red Hat 6.2 o resultado também foi 1 (um);
-JVM 1.4 Windows NT 4.0 SP 6, resultado 0 (zero);

At 16:57 05/03/2002, you wrote:
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

Re: [java-list] código obscuro!!

2002-03-12 Por tôpico Silvio L. DeMorais

eu sei como resolver o problema de achar o resultado 1. isso estah claro.
o que estou falando eh que achar 0 eh o correto nesse caso. exatamente
como estah escrito.
se trocar de variavel nao existe ambiguidade, e consequentemente nao existe
necessidade de teste algum.
o que estamos falando nao eh de como obter 1, o que eh trivial, mas de que
em algumas situacoes o codigo i = 0; i = i++ poderia retornar algo que nao
zero, o que nao poderia acontecer.


- Original Message -
From: Luiz Reginaldo [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, March 11, 2002 4: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

Re: [java-list] código obscuro!!

2002-03-12 Por tôpico Silvio L. DeMorais

qual versao do c++ builder Sven? eu testei num amd 800mhz, rodando windows
xp e cbuilder versao 4 e obtive o resultado 0, como esperado.

- Original Message -
From: Sven van ´t Veer [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, March 05, 2002 4:01 AM
Subject: Re: [java-list] código obscuro!!


   cc UNIX C compiler, ( result i = 0)
 CC UNIX C++ compiler, ( result i = 0 )
 g++ GNU C++ compiler, ( result i = 1 )
 c++ CBuilder5 compiler (result = 1)
 javac java compiler ( result i = 0)

 e alguem falou sobre java retiornar 1,  mas não sei quem foi e qual JVM
 usado.

 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]

 -
 

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

Re: [java-list] código obscuro!!

2002-03-11 Por tôpico Luiz Reginaldo

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

Re: [java-list] código obscuro!!

2002-03-10 Por tôpico Sven van ´t Veer

  cc UNIX C compiler, ( result i = 0)
CC UNIX C++ compiler, ( result i = 0 )
g++ GNU C++ compiler, ( result i = 1 )
c++ CBuilder5 compiler (result = 1)
javac java compiler ( result i = 0)

e alguem falou sobre java retiornar 1,  mas não sei quem foi e qual JVM 
usado.

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


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




Re: [java-list] código obscuro!!

2002-03-10 Por tôpico Reinaldo Nolasco Sanches


Está discussão deveria ter acabado já...


i++

é o mesmo que...

i = i + 1

então pq fazer...

i = i = i + 1 


???







=
._.
| ||| r_linux ||| |
| ||--- Slackware 8.0 - Kernel 2.4.17--|| |
| ||- BlackBox 0.61.1 - XFree86 4.1.0--|| |
| ||--- [EMAIL PROTECTED] -- www.slackware.na-web.net--|| |
| ||- irc.brasnet.org -- #slackware ---|| |
 |--EOF--|

__
Do You Yahoo!?
Try FREE Yahoo! Mail - the world's greatest free email!
http://mail.yahoo.com/

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




Re: [java-list] código obscuro!!

2002-03-10 Por tôpico Silvio L. DeMorais

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

Re: [java-list] código obscuro!!

2002-03-08 Por tôpico ribas

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




Re: Re: [java-list] código obscuro!!

2002-03-04 Por tôpico Sven van ´t Veer



No tem, at diversas compiladores C++ tem comportamento diferente, e parece
diversas JVM tambm tem comportamento diferente.

csuco wrote:
GS76CJ$[EMAIL PROTECTED]">
  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 -0300Assunto : Re: [java-list] cdigo obscuro!!Caro Cristiano, Quando voc utiliza o incremento  direita do nmero,(i++), voc 

primeiro 

  retorna o nmero e depois soma 1. Para voc fazer aquilo que pretendia,(no existe necessidade), voc 
  
  deveria 
  
utilizar o incremento  esquerda do nmero (++i). Isto vale tambm 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, Algum pode explicar porque a seguinte implementao retorna 0 


(zero)? 

  
{ int i = 0; i = i++; System.out.println(i); } No seria mais 'lgico' retornar 1, como em C++ ? Abraos, CristianoBS -- LISTA SOUJAVA --


-- 

  
http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-


SP 

  
dvidas 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?Ento clique aqui: http://registro.ig.com.br/censo/igmail-- LISTA SOUJAVA ---

- 

  http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-
  
  SP 
  
dvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para java-list-

[EMAIL PROTECTED] 

  
  
  -
  


-- LISTA SOUJAVA  http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara 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






Re: [java-list] código obscuro!!

2002-03-04 Por tôpico Carlos Villela

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




Re: Re: [java-list] código obscuro!!

2002-03-02 Por tôpico Sven van ´t Veer



pois eh, mas ele atribui i = i e depois faz i = i + 1 porm o codigo deveria
fazer a mesma coisa que

int i = 0;

i = i;
i = i + 1;
System.out.println(i);

porm a saida deveria ser 1 e no 0, ou seja igual a saida de C++ com a mesma
seo de cdigo.

Sandro Brando wrote:
004301c1bf77$c462fe80$[EMAIL PROTECTED]">
  Isso  porque quando vc usa o i++ na atribuio, ele executa primeiro aatribuio para depois incrementar a varivel. Para a soluo do problemautilize ++i, ou seja: i = ++i;Sandro- Original Message -From: "Cristiano Bianchi Sanchez" [EMAIL PROTECTED]To: [EMAIL PROTECTED]Sent: Tuesday, February 26, 2002 11:58 AMSubject: [java-list] cdigo obscuro!!
  
Oi lista,  Algum pode explicar porque a seguinte implementao retorna 0 (zero)?  {int i = 0;i = i++;System.out.println(i);  }  No seria mais 'lgico' retornar 1, como em C++ ?Abraos,CristianoBS-- LISTA SOUJAVA http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SPdvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40sou
java.org.brpara sair da lista: envie email para [EMAIL PROTECTED]-

-- LISTA SOUJAVA  http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para [EMAIL PROTECTED] -


-- 
"'You guys (at Microsoft) still don't get it,' 
because it's sort of Java with reliability, productivity and security deleted."

	James Gosling






Re: [java-list] código obscuro!!

2002-03-02 Por tôpico Sven van ´t Veer



Eu verifiquei e em C / C++ realmente sai 1 em vez de 0 que, na minha opinio
 certo. Neste cdigo ele no est atribuindo i++ a j mas a i mesmo ou seja,
i = i; i += 1; isso seria o certo pois mesmo sendo cdigo ridiculo, o que
esta escrito  
i = 0
i = i++
que  igual a
i = 0
i = 0
i += 1
pois a incrementao acontece apos a utilizao do valor atual ( o segundo
i = 0)

Agnelo de Jesus wrote:

  Caro Cristiano, Quando voc utiliza o incremento  direita do nmero,(i++), voc primeiro retorna o nmero e depois soma 1. Para voc fazer aquilo que pretendia,(no existe necessidade), voc deveria utilizar o incremento  esquerda do nmero (++i). Isto vale tambm 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, Algum pode explicar porque a seguinte implementao retorna 0 (zero)? { int i = 0; i = i++; System.out.println(i); } No seria mais 'lgico' retornar 1, como em C++ ? Abraos, CristianoBS -- LISTA SOUJAVA  http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas 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] - -- 

Agnelo de Jesus. _Oi! Voc quer um iG-mail gratuito?Ento clique aqui: http://registro.ig.com.br/censo/igmail-- LISTA SOUJAVA  http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: 
http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para [EMAIL PROTECTED] -


-- 
"'You guys (at Microsoft) still don't get it,' 
because it's sort of Java with reliability, productivity and security deleted."

	James Gosling






Re: [java-list] código obscuro!!

2002-03-02 Por tôpico csuco

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




Re: RES: [java-list] código obscuro!!

2002-03-02 Por tôpico Sven van ´t Veer

O seu extrato foi bom mas, não está completa:
At run time, if evaluation of the operand expression completes 
abruptly, then the postfix increment expression completes abruptly for 
the same reason and no incrementation occurs. Otherwise, the value 1 is 
added to the value of the variable and the sum is stored back into the 
variable. Before the addition, binary numeric promotion (§5.6.2) is 
performed on the value 1 and the value of the variable. If necessary, 
the sum is narrowed by a narrowing primitive conversion (§5.1.3) to the 
type of the variable before it is stored. The value of the postfix 
increment expression is the value of the variable before the new value 
is stored.

Veja bem, o que deve occorer é que
i é atribuido o valor da expressão i++, que é naquele momento 0 e é 
gravado no variavel, depois o valor do variavel é incrementada com o 
valor de um e este resultdao é gravado no variavel.


senão, isso deveria imprimir 0 tb:
int i, j;
i = j = 0;
j = i++;
System.out.println(i);

aqui o J é 0 mas o i é um.

no caso acima há algo diferente pois a attribuição do i = i é efeituada, 
aparentamente apos  the value 1 is added to the value of the variable 
and the sum is stored back into the variable pois o valor 1 é 
sobrescrito com 0.

Bráulio Consani Moura wrote:

Caro amigo,
neste caso a operação é pos-fixada, ou seja, primeiro se atribui o valor antes do 
incremento da variavel e entao este ocorre. Este caso é especial, pois se utiliza a 
mesma variavel. Note que o proprio i++ é uma atribuicao de i = i + 1. a linha correta 
seria somente i++; ou i+=1; para que o resultado fosse 1. No seu caso o valor de 
i permanece como o valor antes do incremento. Como na especificacao: 
...The value of the postfix increment expression is the value of the variable before 
the new value is stored...

Resumo:
O efeito do codigo i = i++; é o mesmo efeito que o do codigo i = i e nao 
representa efeito igual ao que foi exposto que seria: 
 i = i; i++; (este efeito nao ocorre para o codigo apresentado)  

Espero ter ajudado
consani

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


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




Re: [java-list] código obscuro!!

2002-03-02 Por tôpico Marcelo Alves

Oi,

Nao consigo entender como poderia dar 1 em C++... Primeiro é feito
retornado o valor ( 0 ), efetuado o incremento ( i fica com 1) e depois que
é e feito o = (i volta a valer 0)...

t+

.: marcelo alves :.

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




Re: Re: [java-list] código obscuro!!

2002-03-02 Por tôpico Sven van ´t Veer



deve ser claro que o cdigo  redundante, a questo  se o resultado  o
esperado pela especificao da linguagem Java sim ou no. Na minha opinio
no  uma vez que i = i++ pode ser escrito como i = i; i++;, que no caso
retornaria 1 em vez de 0.

Giuliano de Aquino wrote:
00da01c1bf94$e917ca40$0b01a8c0@KNSDOMAIN">
  i = ++i;//retornaria 1 mas  muito redundante, utilize i++; ou ++i; apenas...- Original Message -From: "Cristiano Bianchi Sanchez" [EMAIL PROTECTED]To: [EMAIL PROTECTED]Sent: Tuesday, February 26, 2002 11:58 AMSubject: [java-list] cdigo obscuro!!
  
Oi lista,  Algum pode explicar porque a seguinte implementao retorna 0 (zero)?  {int i = 0;i = i++;System.out.println(i);  }  No seria mais 'lgico' retornar 1, como em C++ ?Abraos,CristianoBS-- LISTA SOUJAVA http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SPdvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40sou
java.org.brpara sair da lista: envie email para [EMAIL PROTECTED]-

-- LISTA SOUJAVA  http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para [EMAIL PROTECTED] -


-- 
"'You guys (at Microsoft) still don't get it,' 
because it's sort of Java with reliability, productivity and security deleted."

	James Gosling






Re: [java-list] código obscuro!!

2002-03-02 Por tôpico Jose_Carlos



Para mim isto é tudo babaquice. O i++ é um 
operador sobrecarregado herdado do c++ que significa i=i+1, então para que i=i++ 
ou i=++i, use somente i++ que dá na mesma!
[]'s
Sparc

  - Original Message - 
  From: 
  Pedro Herrera 
  To: [EMAIL PROTECTED] 
  Sent: Wednesday, February 27, 2002 10:40 
  AM
  Subject: RES: [java-list] código 
  obscuro!!
  
  
  
  Por que vc nao faz 
  i = ++i ao inves de i = i++ ?
  assim ele atribui depois e o resultado sera 1 como vc 
esperava
  Pedro Herrera 
  Sun Certified Programmer for Java 2 Plataform 
  
  
  
  
  From: "Paulo Bruno Contopoulos" <[EMAIL PROTECTED]>
  Reply-To: [EMAIL PROTECTED] 
  To: <[EMAIL PROTECTED]>
  Subject: RES: [java-list] código obscuro!! 
  Date: Wed, 27 Feb 2002 01:23:35 -0300 
   
   
   
-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++ ? 

   
  Não, porque quando você coloca i++, ele atribui antes de 
  adicionar. Aliás, 
  porque não fazer i++ direto, ou você só estava fazendo um 
  teste? 
   
   
  []'s, 
   
  Paulo Bruno Contopoulos 
   
   
  -- 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] 
  - 

   
  
  
  Associe-se ao maior serviço de e-mail do mundo através do MSN Hotmail. http://www.hotmail.com/BR-- 
  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] 
  -


Re: [java-list] código obscuro!!

2002-03-02 Por tôpico Silvio L. DeMorais

Esse codigo vai resultar em '0' (zero) tanto em Java quanto em C/C++.

O problema aqui eh de qual operacao esta acontecendo.

Veja o que acontece com a variavel 'i' nesse seu programa: 

   {
1 int i = 0;
2 i = i++;
3 System.out.println(i);
   }

Na linha 1 i recebe o valor 0 (zero).

Na linha 2 acontece uma atribuicao, e a parte a direita do operador e calculada.
Como o operador ++ esta a DIREITA da variavel, o valor da expressao eh calculado
com o valor inicial da variavel, 0 (zero) nesse caso. O operador ++ eh entao
executado, e o valor de i vai para 1 (um).
Apos isso, a operacao de atribuicao ira acontecer, e o valor da expressao
calculada eh 0 (sero), e esse valor eh novamente atribuido a variavel 'i',
fazendo com que chegue a linha 3 zerada!

Ficou claro?

E esse comportamento eh o mesmo em C, C++ ou Java, que eu saiba.

Silvio


On Tue, 26 February 2002, Cristiano Bianchi Sanchez wrote

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




Re: [java-list] código obscuro!!

2002-03-01 Por tôpico Christian Gravatá

Em c++, se vc fizer exatamente dessa forma, vai obter
o mesmo resultado, é só testar para ver (testei aqui no gcc).

Se você quiser que imprima 1, vai ter que fazer i = ++i
tanto em java quanto em c++.

Resumindo, i  =  i++ é atribui e incrementa.
i = ++i é incrementa e atribui.

Atenciosamente,
Christian S. Gravatá
Programador Certificado Sun para Plataforma Java 2
Desenvolvedor de Componentes Web Certificado Sun para
Plataforma Java 2 Enterprise Edition

- Original Message -
From: Cristiano Bianchi Sanchez [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, February 26, 2002 10:58 AM
Subject: [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] 
-




Re: RES: [java-list] código obscuro!!

2002-03-01 Por tôpico Julio Cunha

Galera,

  Chega desse negocio de CODIGO OBSCURO

NAO EXISTE  i=i++   isso eh redundancia em qualquer linguagem!!
(Vc esta descendo para baixo OU PIOR entrando para fora)

Eh o mesmo que fazer

  x = 5;  if (x==5) { ...}; 
  x += 0 * (x - x);
  if (!(x  0)  (x==0)) {..//  ARGH

  Vamos parar com essa babaquice? Isso nao tem nada a ver com Java!

[]'s
Julio.


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




Re: Re: [java-list] código obscuro!!

2002-03-01 Por tôpico Sven van ´t Veer



Qual a maquina virtual que vc usa??

Valdenia  Eduardo wrote:
006101c1bf9e$5964c9c0$c8c0a8c0@oemcomputer">
  vcs me desculpem, mas eu compilei e obtive 1 e no zero. verdade que quando coloco i++ o java s avalia depois, mas depois deque??? (depois de avaliar o resto da expresso, que neste caso termina noponto e vrgula). Quando chega na linha seguinte j deve estar como 1.Eduardo- Original Message -From: Renan Milfont [EMAIL PROTECTED]To: [EMAIL PROTECTED]Sent: Wednesday, February 13, 2002 8:36 AMSubject: Re: [java-list] cdigo obscuro!!
  
Primeiro ele atribui o valor de i recebendo 0 e s depois ele faz a somaentedeu ?Para dar um, o cdigo deveria ser assim.

{int i = 0;i = ++i;System.out.println(i);  }
  
  - Original Message -From: "Cristiano Bianchi Sanchez" [EMAIL PROTECTED]To: [EMAIL PROTECTED]Sent: Tuesday, February 26, 2002 11:58 AMSubject: [java-list] cdigo obscuro!!
  
Oi lista,  Algum pode explicar porque a seguinte implementao retorna 0 (zero)?  {int i = 0;i = i++;System.out.println(i);  }  No seria mais 'lgico' retornar 1, como em C++ ?Abraos,CristianoBS-- LISTA


SOUJAVA 

  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SPdvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para


[EMAIL PROTECTED]

  -
  -- LISTA SOUJAVA http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SPdvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para [EMAIL PROTECTED]-
  
  -- LISTA SOUJAVA  http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para [EMAIL PROTECTED] -
  
  
  -- 
"'You guys (at Microsoft) still don't get it,' 
because it's sort of Java with reliability, productivity and security deleted."

	James Gosling

  
  
  


Re: RES: [java-list] código obscuro!!

2002-03-01 Por tôpico Silvio L. DeMorais

Nao tem nada de dependente de plataforma.
Esse comportamento eh consistente em qualquer implementacao correta de JVM.


On Thu, 28 February 2002, Giuliano de Aquino wrote

 Tá aí o teste...
 Porém...ouvi dizer aqui na lista que isto é dependente de plataforma...
 Não sei se é verdade... mas se for devemos ter muito cuidado mesmo
 Alguém sabe dizer se é realmente verdade



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




Re: [java-list] código obscuro!!

2002-02-28 Por tôpico Clebert Suconic

Ok Entendí... mas  (pa (campainha tocando))
errado... não é este o comportamento...



Vc vai, pedir o valor de i++ a JVM;

Ele irá lhe devolver o valor atual de i, e imediatamente irá
incrementar

O que acontece então...

o seu codigo pede i++
a JVM incrementa i...
a JVM devolve O QUE TINHA em i... (em função da ordem do ++)
o seu codigo atribui O QUE TINHA em i...
i então ficou com o que tinha


Quer mais uma prova , eu inclui um metodo que sempre volta 0 eu seu
codigo original, imprimindo o valor de i, na proxima vez que vc precisa de
i... e veja o resultado Note que enquanto voce estiver dentro do
statement i sera igual a 1 (a partir da segunda iterção no statement), e
só será 0 após a execução do statement inteiro



public class Class1 {
public static void main(String arg[]) {
int i=0;
i=i++ + sempreZero(i);
System.out.println ( i =   + i);
}

public static int sempreZero(int valor) {
System.out.println (Valor intermediario =  + valor);
return 0;
}
}


Valor intermediario = 1

i = 0




Espero que isto não lhe confunda ainda mains... he he :-)


Me responda em pvt se isto ajudou...

[]s,


Clebert

- Original Message -
From: Lindomar Silva [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 27, 2002 9:19 PM
Subject: Re: [java-list] código obscuro!!


 É um teste interessante bruno...

 Creio que o procedimento não ceja bem atribuir antes e realizar o
incremento
 depois, já que o incremento se dá na mesma variável que recebe o zero.

 Acho que o comportamento é o seguinte:
 Quando o interpratador verifica o tipo de instrução ele sabe que tem que
 fazer uma atribuição primeiro, mas nesta atribuição temos uma instrução
 antes.
 Então: a atribuição (i=(i) que é 0) ele guarda num determinado endereço, e
 realiza o incremento i++, que nada mais é do que i=i+1, que é i=1.
 Ok, o incremento foi realizado, agora ele vai naquele endereço que guardou
o
 0 e faz i=0;
 Logo em determinado instante i se torna 1 mas no final recebe o 0.

 Se for feito i=++i, ele irá primeiro incrementar para depois atribuir o
 valor de i=(i), que é 1. Por isso é que dá 1 no final.

 Façam o teste com outra variável, por exemplo: k=i++;  e depois k=++i;
 Creio que deva ajudar a endender minha linha de raciocínio.






 - Original Message -
 From: Paulo Bruno Contopoulos [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Wednesday, February 27, 2002 4:23 AM
 Subject: RES: [java-list] código obscuro!!




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

 Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás,
 porque não fazer i++ direto, ou você só estava fazendo um teste?


 []'s,

 Paulo Bruno Contopoulos


 -- 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.325 / Virus Database: 182 - Release Date: 02/19/2002


 _
 Do You Yahoo!?
 Get your free @yahoo.com address at http://mail.yahoo.com


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




Re: Re: [java-list] código obscuro!!

2002-02-28 Por tôpico Sven van ´t Veer





003401c1bfed$a46c7450$[EMAIL PROTECTED]">
  Ento: a atribuio (i=(i) que  0) ele guarda num determinado endereo, erealiza o incremento i++, que nada mais  do que i=i+1, que  i=1.Ok, o incremento foi realizado, agora ele vai naquele endereo que guardou o0 e faz i=0;Logo em determinado instante i se torna 1 mas no final recebe o 0.
  
 mais ou menos isso o que acontece a pergunta  se  certo...
  003401c1bfed$a46c7450$[EMAIL PROTECTED]">
Se for feito i=++i, ele ir primeiro incrementar para depois atribuir ovalor de i=(i), que  1. Por isso  que d 1 no final.Faam o teste com outra varivel, por exemplo: k=i++;  e depois k=++i;Creio que deva ajudar a endender minha linha de raciocnio.

Pois , esse  a diferenca entre pre-increment e post increment operator.
003401c1bfed$a46c7450$[EMAIL PROTECTED]">
  - Original Message -From: "Paulo Bruno Contopoulos" [EMAIL PROTECTED]To: [EMAIL PROTECTED]Sent: Wednesday, February 27, 2002 4:23 AMSubject: RES: [java-list] cdigo obscuro!!
  
-Mensagem original-De: Cristiano Bianchi Sanchez [mailto:[EMAIL PROTECTED]]Enviada em: tera-feira, 26 de fevereiro de 2002 11:59Para: [EMAIL PROTECTED]Assunto: [java-list] cdigo obscuro!!Oi lista,  Algum pode explicar porque a seguinte implementao retorna 0 (zero)?  {int i = 0;i = i++;System.out.println(i);  }  No seria mais 'lgico' retornar 1, como em C++ ?

No, porque quando voc coloca i++, ele atribui antes de adicionar. Alis,porque no fazer i++ direto, ou voc s estava fazendo um teste?[]'s,Paulo Bruno Contopoulos-- LISTA SOUJAVA http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SPdvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara 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.325 / Virus Database: 182 - Release Date: 02/19/2002_Do You Yahoo!?Get your free @yahoo.com address at http://mail.yahoo.com-- LISTA SOUJAVA  http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para [EMAIL PROTECTED] -


-- 
"'You guys (at Microsoft) still don't get it,' 
because it's sort of Java with reliability, productivity and security deleted."

	James Gosling






Re: FW: [java-list] código obscuro!!

2002-02-28 Por tôpico Silvio L. DeMorais

Voce estah enganado.

i = i++; 
Nao eh equivalente a
i = i;
i = i + 1;

i = i++;
Eh equivalente a:
exp = i;
i = i + 1;
i = exp;

onde 'exp' eh a expressao a direita do sinal de atribuicao '='. Essa regra
existe em qualquer linguagem que inplemente OPERADOR de auto
incremento/decremento que eu conheca (C, C++, Java e C#), nao confundir com as
funcoes dec() e inc() do Pascal/Delphi, que nao tem esse problema de
precedencia. 

E o que difere no caso de i = ++i; eh justamente a ordem das operacoes no
calculo da expressao, veja:

i = ++i;
Eh equivalente a:
i = i + 1;
exp = i;
i = exp;



On Wed, 27 February 2002, Silva, Jobson wrote

 
 O resultado correto deveria ser UM !
 
 O trecho
   i = i++;
 eh equivalente a
   i = i;
   i = i + 1;
 
 Se esta retornando ZERO tem alguma coisa errada ai !  Alguem sabe ???
 
 []s
 Jobson Silva
 
 -Original Message-
 From: Paulo Bruno Contopoulos [mailto:[EMAIL PROTECTED]] 
 Sent: Wednesday, 27 February, 2002 01:24
 To: [EMAIL PROTECTED]
 Subject: RES: [java-list] código obscuro!!
 
 
 
 
  -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++ ?
 
 
 Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás,
 porque não fazer i++ direto, ou você só estava fazendo um teste?
 
 
 []'s,
 
 Paulo Bruno Contopoulos
 
 
 -- 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]
-




Re: [java-list] código obscuro!!

2002-02-28 Por tôpico Silvio L. DeMorais

De qual codigo voce estah falando?


class PlusPlusAEsquerdaRetornaUm

   public static void main (String[] a)
   {
  int i = 0;
  i = ++i;
  System.out.println(i);
   }



ou

class PlusPlusADireitaRetornaZero

   public static void main (String[] a)
   {
  int i = 0;
  i = i++;
  System.out.println(i);
   }



Eh justamente esse o problema. Em que momento a variavel 'i' eh incrementada.

Se eh usado i++, 'i' serah incrementada APOS o valor da expressao ser calculado,
e o valor final de 'i' (APOS a atribuicao) serah ZERO.

Se eh usado ++i, 'i' serah incrementada ANTES do valor da expressao ser
calculado, e o valor final de 'i' (APOS a atribuicao) serah UM.

Silvio


On Wed, 27 February 2002, Valdenia  Eduardo wrote

 
 vcs me desculpem, mas eu compilei e obtive 1 e não zero.
 É verdade que quando coloco i++ o java só avalia depois, mas depois de
 que??? (depois de avaliar o resto da expressão, que neste caso termina no
 ponto e vírgula). Quando chega na linha seguinte já deve estar como 1.
 
 Eduardo
 - Original Message -
 From: Renan Milfont [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Wednesday, February 13, 2002 8:36 AM
 Subject: Re: [java-list] código obscuro!!
 
 
  Primeiro ele atribui o valor de i recebendo 0 e só depois ele faz a soma
  entedeu ?
  Para dar um, o código deveria ser assim.
 
 {
   int i = 0;
   i = ++i;
   System.out.println(i);
 }
  
 
 
  - Original Message -
  From: Cristiano Bianchi Sanchez [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Tuesday, February 26, 2002 11:58 AM
  Subject: [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]
  -
 
 
 
 -- 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]
-




Re: [java-list] código obscuro!!

2002-02-28 Por tôpico Fenix

Normalmente, se vc não atribuiu nenhum valor a váriavel,  ela é iniciada com
o valor zero.
Logo
i =  i++
retorna zero para depois incrementar o valor de i;
Se vc quiser retornar 1 deve utilizar o seguinte

i = ++i;

[]'s
Giuliani
- Original Message -
From: Silva, Jobson [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 27, 2002 11:18 AM
Subject: FW: [java-list] código obscuro!!


 O resultado correto deveria ser UM !

 O trecho
 i = i++;
 eh equivalente a
 i = i;
 i = i + 1;

 Se esta retornando ZERO tem alguma coisa errada ai !  Alguem sabe ???

 []s
 Jobson Silva

 -Original Message-
 From: Paulo Bruno Contopoulos [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, 27 February, 2002 01:24
 To: [EMAIL PROTECTED]
 Subject: RES: [java-list] código obscuro!!




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

 Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás,
 porque não fazer i++ direto, ou você só estava fazendo um teste?


 []'s,

 Paulo Bruno Contopoulos


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




Re: RES: [java-list] código obscuro!!

2002-02-28 Por tôpico Lindomar Silva



A questão é que:

(1) i=0;
(2) i=i++; (atribuir e depois incrementar) ou i=++i 
(incrementar e depois atribuir)
(3) valor de i

Tanto faz (na segunda linha) a atribuição ser antes 
ou depois do incremento de i, pois chegando na linha 3 o incremento em i deveria 
ter ocorrido, já que na linha 2 um incremento tem que ocorrer.

Dei uma idéia sobre isso num e-mail anterior, mas a 
dúvida continua.
Só pode ser coisa da linguagem mesmo, por que pela 
lógica de programação deveria dar 1 em ambos os casos. Tanto é se vocês testarem 
com as linhas de comando (1) k=i++ e (2)k=++i, os resultadossão 
realmente os esperados (1) k=0, i=1. (2) k=1, i=1.



  - Original Message - 
  From: 
  Sven van ´t 
  Veer 
  To: [EMAIL PROTECTED] 
  Sent: Wednesday, February 27, 2002 1:45 
  PM
  Subject: Re: RES: [java-list] código 
  obscuro!!
  
  [EMAIL PROTECTED]" 
  type="cite">
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++ ?Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás,porque não fazer i++ direto, ou você só estava fazendo um teste?Porém, 
  de qualquer forma, mesmo atribuindo antes de adicionar ele deveria fazer igual 
  o C++ uma vez que a precedencia em C++ é igual.-- 
"'You guys (at Microsoft) still don't get it,' 
because it's sort of Java with reliability, productivity and security deleted."

	James Gosling

  
---Outgoing mail is certified Virus Free.Checked 
  by AVG anti-virus system (http://www.grisoft.com).Version: 6.0.325 
  / Virus Database: 182 - Release Date: 
02/19/2002


Re: [java-list] código obscuro!!

2002-02-28 Por tôpico eduardo

Para o código abaixo retornar faça a seguinte alteração:

{
   int i = 0;
   i =  ++i;
   System.out.println(i);
}

- Original Message -
From: Paulo Bruno Contopoulos [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 27, 2002 1:23 AM
Subject: RES: [java-list] código obscuro!!




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

 Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás,
 porque não fazer i++ direto, ou você só estava fazendo um teste?


 []'s,

 Paulo Bruno Contopoulos


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




Re: [java-list] código obscuro!!

2002-02-28 Por tôpico eduardo

O problema é precedência de operadores, altere a linha i = i++ por i = ++i
- Original Message -
From: Cristiano Bianchi Sanchez [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, February 26, 2002 11:58 AM
Subject: [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] 
-




Re: [java-list] código obscuro!!

2002-02-28 Por tôpico Lincoln Masao Muraoka Junior

mais fácil:

{
int i = 0;
i++;
System.out.println(i);
}

- Original Message -
From: eduardo [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 27, 2002 6:38 PM
Subject: Re: [java-list] código obscuro!!


 Para o código abaixo retornar faça a seguinte alteração:

 {
int i = 0;
i =  ++i;
System.out.println(i);
 }





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




Re: [java-list] código obscuro!!

2002-02-28 Por tôpico Felipe

No java vc é obrigado a inicializar uma variável, normalmente ela nunca irá
inicializar com valor zero.
- Original Message -
From: Fenix [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, February 28, 2002 9:56 AM
Subject: Re: [java-list] código obscuro!!


 Normalmente, se vc não atribuiu nenhum valor a váriavel,  ela é iniciada
com
 o valor zero.
 Logo
 i =  i++
 retorna zero para depois incrementar o valor de i;
 Se vc quiser retornar 1 deve utilizar o seguinte

 i = ++i;

 []'s
 Giuliani
 - Original Message -
 From: Silva, Jobson [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Wednesday, February 27, 2002 11:18 AM
 Subject: FW: [java-list] código obscuro!!


  O resultado correto deveria ser UM !
 
  O trecho
  i = i++;
  eh equivalente a
  i = i;
  i = i + 1;
 
  Se esta retornando ZERO tem alguma coisa errada ai !  Alguem sabe ???
 
  []s
  Jobson Silva
 
  -Original Message-
  From: Paulo Bruno Contopoulos [mailto:[EMAIL PROTECTED]]
  Sent: Wednesday, 27 February, 2002 01:24
  To: [EMAIL PROTECTED]
  Subject: RES: [java-list] código obscuro!!
 
 
 
 
   -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++ ?
  
 
  Não, porque quando você coloca i++, ele atribui antes de adicionar.
Aliás,
  porque não fazer i++ direto, ou você só estava fazendo um teste?
 
 
  []'s,
 
  Paulo Bruno Contopoulos
 
 
  -- 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]
 -




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




Re: [java-list] código obscuro!!

2002-02-28 Por tôpico Renan Milfont

Por favor, chega de código obscuro.
Já tem milhões de emails com isto, já esta mais que claro.

- Original Message -
From: eduardo [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 27, 2002 6:51 PM
Subject: Re: [java-list] código obscuro!!


 O problema é precedência de operadores, altere a linha i = i++ por i = ++i
 - Original Message -
 From: Cristiano Bianchi Sanchez [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Tuesday, February 26, 2002 11:58 AM
 Subject: [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]
 -



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




Re: RES: [java-list] código obscuro!!

2002-02-28 Por tôpico Giuliano de Aquino



Tá aí o teste...
Porém...ouvi dizer aqui na lista que isto é 
dependente de plataforma...
Não sei se é verdade... mas se for devemos ter 
muito cuidado mesmo
Alguém sabe dizer se é realmente 
verdade

--
C:\Desenv\Java\testejava testaIAntes da 
terrÝvel d·vida(i=i++;), i vale:0Depois da terrÝvel d·vida(i=i++;), i 
vale:0Agora com (i=++i;), i vale:1System.out.println(i) : 
0System.out.println(i++) : 0System.out.println(i) : 1Dentro do while 
(5=i++), i vale:0Dentro do while (5=i++), i vale:1Dentro do 
while (5=i++), i vale:2Dentro do while (5=i++), i vale:3Dentro 
do while (5=i++), i vale:4Dentro do while (5=i++), i 
vale:5Dentro do while (5=i++), i vale:6Dentro do while (5=++i), 
i vale:0Dentro do while (5=++i), i vale:1Dentro do while 
(5=++i), i vale:2Dentro do while (5=++i), i vale:3Dentro do 
while (5=++i), i vale:4Dentro do while (5=++i), i 
vale:5-

public class testaI {

int i;public testaI(){

i 
=0;System.out.println("Antes da terrível dúvida(i=i++;), i 
vale:" + i);i = i++;System.out.println("Depois 
da terrível dúvida(i=i++;), i vale:" + i);i = 
++i;System.out.println("Agora com (i=++i;), i vale:" + 
i);

i=0;System.out.println("System.out.println(i) 
: " + i);System.out.println("System.out.println(i++) : " + 
i++);System.out.println("System.out.println(i) : " + 
i);

i=0;do{ 
System.out.println("Dentro do while (5=i++), i vale:" + 
i); }while(5 = i++);

 i=0; 
do{  
System.out.println("Dentro do while (5=++i), i vale:" + 
i); }while(5 = ++i);

}

public static void main(String [] 
arg){testaI app = new testaI();}

}



---

  - Original Message - 
  From: 
  Lindomar Silva 
  To: [EMAIL PROTECTED] 
  Sent: Wednesday, February 27, 2002 3:36 
  AM
  Subject: Re: RES: [java-list] código 
  obscuro!!
  
  A questão é que:
  
  (1) i=0;
  (2) i=i++; (atribuir e depois incrementar) ou 
  i=++i (incrementar e depois atribuir)
  (3) valor de i
  
  Tanto faz (na segunda linha) a atribuição ser 
  antes ou depois do incremento de i, pois chegando na linha 3 o incremento em i 
  deveria ter ocorrido, já que na linha 2 um incremento tem que 
  ocorrer.
  
  Dei uma idéia sobre isso num e-mail anterior, mas 
  a dúvida continua.
  Só pode ser coisa da linguagem mesmo, por que 
  pela lógica de programação deveria dar 1 em ambos os casos. Tanto é se vocês 
  testarem com as linhas de comando (1) k=i++ e (2)k=++i, os resultadossão 
  realmente os esperados (1) k=0, i=1. (2) k=1, i=1.
  
  
  
- Original Message - 
From: 
Sven van ´t 
Veer 
To: [EMAIL PROTECTED] 
Sent: Wednesday, February 27, 2002 1:45 
PM
Subject: Re: RES: [java-list] código 
obscuro!!

[EMAIL PROTECTED] 
type="cite">
  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++ ?Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás,porque não fazer i++ direto, ou você só estava fazendo um teste?Porém, 
de qualquer forma, mesmo atribuindo antes de adicionar ele deveria fazer 
igual o C++ uma vez que a precedencia em C++ é igual.-- 
"'You guys (at Microsoft) still don't get it,' 
because it's sort of Java with reliability, productivity and security deleted."

	James Gosling


  ---Outgoing mail is certified Virus 
Free.Checked by AVG anti-virus system (http://www.grisoft.com).Version: 
6.0.325 / Virus Database: 182 - Release Date: 
02/19/2002


RES: [java-list] código obscuro!!

2002-02-27 Por tôpico Paulo Bruno Contopoulos



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


Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás,
porque não fazer i++ direto, ou você só estava fazendo um teste?


[]'s,

Paulo Bruno Contopoulos


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




RES: [java-list] código obscuro!!

2002-02-27 Por tôpico Paulo Antonialli

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




RES: [java-list] código obscuro!!

2002-02-27 Por tôpico Bráulio Consani Moura

Caro amigo,
neste caso a operação é pos-fixada, ou seja, primeiro se atribui o valor antes do 
incremento da variavel e entao este ocorre. Este caso é especial, pois se utiliza a 
mesma variavel. Note que o proprio i++ é uma atribuicao de i = i + 1. a linha correta 
seria somente i++; ou i+=1; para que o resultado fosse 1. No seu caso o valor de i 
permanece como o valor antes do incremento. Como na especificacao: 
...The value of the postfix increment expression is the value of the variable before 
the new value is stored...

Resumo:
O efeito do codigo i = i++; é o mesmo efeito que o do codigo i = i e nao 
representa efeito igual ao que foi exposto que seria: 
 i = i; i++; (este efeito nao ocorre para o codigo apresentado)   

Espero ter ajudado
consani

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




Re: [java-list] código obscuro!!

2002-02-27 Por tôpico Sandro Brandão

Isso é porque quando vc usa o i++ na atribuição, ele executa primeiro a
atribuição para depois incrementar a variável. Para a solução do problema
utilize ++i, ou seja: i = ++i;

Sandro
- Original Message -
From: Cristiano Bianchi Sanchez [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, February 26, 2002 11:58 AM
Subject: [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] 
-




Re: [java-list] código obscuro!!

2002-02-27 Por tôpico Marcello Mendes

Isso é por causa da procedencia do operador aritmético, para funcionar o que
você quer o comando deve ser i = ++i , assim será primeiro processada a
operação aritmética e depois o retorno do valor da variavel, sendo que i =
i++ , primeiro faz o retorno da variavel e depois a operação aritmética.

Pegadinhas do Java.

[]´s
Marcello Mendes


- Original Message -
From: Cristiano Bianchi Sanchez [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, February 26, 2002 11:58 AM
Subject: [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] 
-




Re: [java-list] código obscuro!!

2002-02-27 Por tôpico Agnelo de Jesus

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 [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 [EMAIL PROTECTED] 
-




Re: [java-list] código obscuro!!

2002-02-27 Por tôpico Giuliano de Aquino

i = ++i;
//retornaria 1 mas é muito redundante, utilize i++; ou ++i; apenas...

- Original Message -
From: Cristiano Bianchi Sanchez [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, February 26, 2002 11:58 AM
Subject: [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] 
-




RES: [java-list] código obscuro!!

2002-02-27 Por tôpico Pedro Herrera

Por que vc nao faz 
i = ++i ao inves de i = i++ ?
assim ele atribui depois e o resultado sera 1 como vc esperava
Pedro Herrera 
Sun Certified Programmer for Java 2 Plataform 




From: "Paulo Bruno Contopoulos" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED] 
To: <[EMAIL PROTECTED]>
Subject: RES: [java-list] código obscuro!! 
Date: Wed, 27 Feb 2002 01:23:35 -0300 
 
 
 
  -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++ ? 
  
 
Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás, 
porque não fazer i++ direto, ou você só estava fazendo um teste? 
 
 
[]'s, 
 
Paulo Bruno Contopoulos 
 
 
-- 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] 
- 
 
Associe-se ao maior serviço de e-mail do mundo através do MSN Hotmail. http://www.hotmail.com/BR

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



Re: RES: [java-list] código obscuro!!

2002-02-27 Por tôpico Sven van ´t Veer



[EMAIL PROTECTED]">
  
Algum pode explicar porque a seguinte implementao retorna 0 (zero)?  {int i = 0;i = i++;System.out.println(i);  }  No seria mais 'lgico' retornar 1, como em C++ ?

No, porque quando voc coloca i++, ele atribui antes de adicionar. Alis,porque no fazer i++ direto, ou voc s estava fazendo um teste?

Porm, de qualquer forma, mesmo atribuindo antes de adicionar ele deveria
fazer igual o C++ uma vez que a precedencia em C++  igual.
-- 
"'You guys (at Microsoft) still don't get it,' 
because it's sort of Java with reliability, productivity and security deleted."

	James Gosling






Re: RES: [java-list] código obscuro!!

2002-02-27 Por tôpico Cristiano Bianchi Sanchez


 É só um teste que caiu em uma entrevista de emprego.

 Mas a pegadinha é que o operador '++' tem maior precedência que o operador '=' .

 O trecho deve funcionar da seguinte forma:
  1. Avalia o valor de i primeiro (que é zero).
  2. Incrementar o i para 1;
  3. Atribui o valor avaliado de i (que foi zero) para a atribuição, então o i volta a 
ser zero.

 Está na especificação do Java que operadores ++ são dependentes da implementação da 
JVM.
 
Cuidado pessoal...


On Wed, 27 Feb 2002 01:23:35 -0300
Paulo Bruno Contopoulos [EMAIL PROTECTED] wrote:

 
 
  -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++ ?
 
 
 Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás,
 porque não fazer i++ direto, ou você só estava fazendo um teste?
 
 
 []'s,
 
 Paulo Bruno Contopoulos
 
 
 -- 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] 
-




FW: [java-list] código obscuro!!

2002-02-27 Por tôpico Silva, Jobson

O resultado correto deveria ser UM !

O trecho
i = i++;
eh equivalente a
i = i;
i = i + 1;

Se esta retornando ZERO tem alguma coisa errada ai !  Alguem sabe ???

[]s
Jobson Silva

-Original Message-
From: Paulo Bruno Contopoulos [mailto:[EMAIL PROTECTED]] 
Sent: Wednesday, 27 February, 2002 01:24
To: [EMAIL PROTECTED]
Subject: RES: [java-list] código obscuro!!




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


Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás,
porque não fazer i++ direto, ou você só estava fazendo um teste?


[]'s,

Paulo Bruno Contopoulos


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




Re: [java-list] código obscuro!!

2002-02-27 Por tôpico Valdenia Eduardo

vcs me desculpem, mas eu compilei e obtive 1 e não zero.
É verdade que quando coloco i++ o java só avalia depois, mas depois de
que??? (depois de avaliar o resto da expressão, que neste caso termina no
ponto e vírgula). Quando chega na linha seguinte já deve estar como 1.

Eduardo
- Original Message -
From: Renan Milfont [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 13, 2002 8:36 AM
Subject: Re: [java-list] código obscuro!!


 Primeiro ele atribui o valor de i recebendo 0 e só depois ele faz a soma
 entedeu ?
 Para dar um, o código deveria ser assim.

{
  int i = 0;
  i = ++i;
  System.out.println(i);
}
 


 - Original Message -
 From: Cristiano Bianchi Sanchez [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Tuesday, February 26, 2002 11:58 AM
 Subject: [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]
 -



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




Re: [java-list] código obscuro!!

2002-02-27 Por tôpico Lindomar Silva

É um teste interessante bruno...

Creio que o procedimento não ceja bem atribuir antes e realizar o incremento
depois, já que o incremento se dá na mesma variável que recebe o zero.

Acho que o comportamento é o seguinte:
Quando o interpratador verifica o tipo de instrução ele sabe que tem que
fazer uma atribuição primeiro, mas nesta atribuição temos uma instrução
antes.
Então: a atribuição (i=(i) que é 0) ele guarda num determinado endereço, e
realiza o incremento i++, que nada mais é do que i=i+1, que é i=1.
Ok, o incremento foi realizado, agora ele vai naquele endereço que guardou o
0 e faz i=0;
Logo em determinado instante i se torna 1 mas no final recebe o 0.

Se for feito i=++i, ele irá primeiro incrementar para depois atribuir o
valor de i=(i), que é 1. Por isso é que dá 1 no final.

Façam o teste com outra variável, por exemplo: k=i++;  e depois k=++i;
Creio que deva ajudar a endender minha linha de raciocínio.






- Original Message -
From: Paulo Bruno Contopoulos [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, February 27, 2002 4:23 AM
Subject: RES: [java-list] código obscuro!!




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


Não, porque quando você coloca i++, ele atribui antes de adicionar. Aliás,
porque não fazer i++ direto, ou você só estava fazendo um teste?


[]'s,

Paulo Bruno Contopoulos


-- 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.325 / Virus Database: 182 - Release Date: 02/19/2002


_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


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




[java-list] código obscuro!!

2002-02-26 Por tôpico Cristiano Bianchi Sanchez

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