有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何交换两个整数

假设变量为3,另一个为5。我需要在没有其他变量的情况下切换它们的值。我该怎么做


共 (1) 个答案

  1. # 1 楼答案

    可以使用bitwise XOR完成:

    x ^= y;
    y ^= x;
    x ^= y;
    

    这被称为XOR swap algorithm(维基百科的那篇文章详细介绍了它是如何工作的,所以我建议你读一下)

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

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