Bom dia, pessoal.
Eu estou tendo dificuldade em entender como funciona o operador &=.
Criei o seguinte teste para ver se conseguia compreender o funcionamento, mas até agora nada:
public static void main(String[] args) {
int x = 10;
x &= 0;
System.out.println(x);
}
Do jeito que está, imprime 0.
Quando troco 0 por 1, imprime 0.
Quando troco 0 por 2, imprime 2.
Quando troco 0 por 3, imprime 2.
Quando troco 0 por 4, imprime 0.
Quando troco 0 por 5, imprime 0.
Quando troco 0 por 6, imprime 2.
Quando troco 0 por 7, imprime 2.
Quando troco 0 por 8, imprime 8.
Quando troco 0 por 9, imprime 8.
Quando troco 0 por 10, imprime 10.
Se eu entendi direito, x &= 0 é o mesmo que x = x & 0, ou seja, x recebe x E 0. Mas falho em perceber como se dá a operação que faz x imprimir valores que, pra mim, não fazem sentido.
Obrigado!