我正在尝试交换两个int
s - x
并且y
在示例中,并且在没有库函数的情况下在一行中执行.
所以我从这开始:
int x = 4;
int y = 3;
System.out.println(x);
System.out.println(y);
x ^= y;
System.out.println(x);
System.out.println(y);
y ^= x;
System.out.println(x);
System.out.println(y);
x ^= y;
System.out.println(x);
System.out.println(y);
Run Code Online (Sandbox Code Playgroud)
输出4, 3, 7, 3, 7, 4, 3, 4
与预期一致.到目前为止都很好.
接下来是这样的:
int x = 4;
int y = 3;
System.out.println(x);
System.out.println(y);
y ^= (x ^= y);
System.out.println(x);
System.out.println(y);
x ^= y;
System.out.println(x);
System.out.println(y);
Run Code Online (Sandbox Code Playgroud)
产量4, 3, 7, 4, 3, 4
再次如预期.到目前为止仍然很好.
最后这个:
int x = 4; …
Run Code Online (Sandbox Code Playgroud)