Ximpo
Maio 6, 2017, 6:08pm
#1
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
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?
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