如何交换两个整数

时间:2013-10-05 19:41:10

标签: java

假设我有变量持有3而另一个持有5.我需要在没有其他变量的情况下切换它们的值。我该怎么办?

1 个答案:

答案 0 :(得分:1)

可以使用bitwise XOR

完成
x ^= y;
y ^= x;
x ^= y;

这被称为XOR swap algorithm(维基百科的文章详细介绍了它的工作原理,所以我建议你阅读它)。

然而,这并不是特别容易理解(更不用说它只适用于整数类型),因此在几乎所有使用临时变量的上下文中都是首选:

int tmp = x;
x = y;
y = tmp;