我正在尝试交换两个ints - 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)