Questão Sobre incremento?

public class Increment {
    public static void main(String [ ] args) {
    int A, B=1;       
    System.out.println(B);
    A = B++;//O que acontece aqui
    System.out.println(A);
    System.out.println(B);
    A = ++B;//O que acontece aqui
    System.out.println(A);//porque A agora vale 3
    System.out.println(B);//porque B agora vale 3       
   }
}

Programação e muito dificil :sob:

A = B++; //copia o valor atual de B em A, depois atualiza B (A = 1, B = 2)
A = ++B; //atualiza B, depois copia seu valor em A (A = 3, B = 3)

Clareou?

Com “atualiza” você quer dizer incrementa (já que nesse caso é “++”)? Portanto:

int A = 0, B = 1;
A = B++;

1º - A recebe o Valor de B (A agora vale 1, e B continua valendo 1);
2º - B é incrementado (B agora vale 2, e A continua valendo 1).


int A = 0, B = 1;
A = ++B;

1º - B é incrementado (B agora vale 2, e A continua valendo 0);
2º - A recebe o Valor de B (A agora vale 2, e B continua valendo 2).

É isto?

2 curtidas

Show!!!

Outra forma de entender legal seria essa…

int A = 0, B = 1;

A = B; //A = 1, B = 1
B++; //B = 2
++B; // B = 3
A = B; //A = 3, B = 3

Ou complicou mais? :joy:

1 curtida

Mais uma forma de explicar.

A linha:

A = B++;

Equivale a:

A = B;
B = B + 1;

Já a linha:

A = ++B;

Equivale a:

B = B + 1;
A = B;
2 curtidas