Operador de Pós incremento

3 respostas
rafabene

Porque no código abaixo o valor impresso é 0 e não 1 ?

public class Inc{
        
        public static void main(String argv[]){
                Inc inc = new Inc();
                int i =0; 
                inc.fermin(i);
                i = i++;
                System.out.println(i);
        }
        
        void fermin(int i){
                i++;
        }
}

3 Respostas

J

Porque o nome já esta dizendo. Ele é um operador de pós-incremento. Você usa a variável e depois ele é incrementado. Tente usar ++i (operador de pre-incremeto) e veja a diferença :slight_smile:

P
é isso ,  qnd vc inicializa o i novamente:

i = i++;

vc está fazendo:

i=0;

se vc estivesse inicializando outra variavel com i++,  sim qnd vc imprimisse o i ele seria 1. por exemplo:

a= i++;

//a==0;

//i==1;
N

Achei muito legal essa.
Quando eu pensei que conhecia os int, apareceu uma para me derrubar.

Criado 6 de setembro de 2003
Ultima resposta 6 de set. de 2003
Respostas 3
Participantes 4