Я хочу поменять значение двух целых переменных в java с помощью оператора XOR.
Это мой код:
int i = 24;
int j = 17;
i ^= j;
j ^= i;
i ^= j;
System.out.println("i : " + i + "\t j : " + j);
Он будет работать нормально, но следующий эквивалентный код не работает:
int i = 24;
int j = 17;
i ^= j ^= i ^= j;
System.out.println("i : " + i + "\t j : " + j);
Вывод выглядит следующим образом:
i : 0 j : 24
Первая переменная равна нулю! Что не так с Java?