Questão interesante

6 respostas
J

Qual a mágica do código abaixo só apresentar 0

public class Incremento {
public static void main(String[] args){
int j = 0;
for (int i = 0; i < 100; i++) {
j = j++;
System.out.println(j);
}
System.out.println(j);
}
}

6 Respostas

danilocgraciano

Pq o j começa com 0, e a cada iteração do FOR ele recebe ele mesmo, ou seja 0, pois o incremento (+) é um pós incremento, portanto permanece em 0.
Acho que é isso!

JARDEL_RODRIGUES

j = ++j;
a mágica acabou! HAHA

J

Jardel.ads:
j = ++j;
a mágica acabou! HAHA

Mas após executar o j = j++; ele dar um system.out(j) nesse momento aqui ele não teria que executar apresentar o 1 ? pois ele foi chamado em um segundo momento, ou a soma não será mais realizada por causa do igual =

JARDEL_RODRIGUES

Não pois o J está recebendo o próprio J que é zero que na foi incrementado

ex: J recebe J que é 0;

meuEx: J recebe ++J que é 1 e vai atribuindo mais 1 até ele percorrer o tamanho;

A

Questão boa … pegadinha do carai… hauhauha

regis_hideki

Jardel.ads:
j = ++j;
a mágica acabou! HAHA

Mais fácil ainda seria fazer apenas:

j++

ou seja:

public class Incremento {  

    public static void main(String[] args){  

        int j = 0;  
        for (int i = 0; i < 100; i++) {  
            j++;  
            System.out.println(j);  
        }  
        System.out.println(j);  
    }  
}
Criado 31 de maio de 2013
Ultima resposta 1 de jun. de 2013
Respostas 6
Participantes 5