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
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
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
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
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"&g
- 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)
-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)?
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),
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;
CTED]>
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: [jav
[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
É 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
12 matches
Mail list logo