Warum funktioniert das Vertauschen von Ganzzahlvariablen durch XOR nicht in einer einzelnen Zeile?
Ich möchte den Wert von zwei Integer-Variablen in Java mit dem XOR-Operator austauschen.
Das ist mein Code:
int i = 24;
int j = 17;
i ^= j;
j ^= i;
i ^= j;
System.out.println("i : " + i + "\t j : " + j);
Es wird gut funktionieren, aber der folgende äquivalente Code funktioniert nicht:
int i = 24;
int j = 17;
i ^= j ^= i ^= j;
System.out.println("i : " + i + "\t j : " + j);
Die Ausgabe ist wie folgt:
i : 0 j : 24
Erste Variable ist Null! Was ist los mit Java?