Java程序不使用第三个变量即可交换两个数字

时间:2020-01-09 10:35:37  来源:igfitidea点击:

给定两个变量,编写一个Java程序来交换变量的值而不使用第三个变量,这是许多访谈中提出的一个问题。在这篇文章中,我们将看到一种实现方法。

此处使用的逻辑是将两个变量都相加并将该值保存在变量之一中。然后从总和中减去另一个变量,并将相减后的值分配给同一变量将交换这些值。

Java代码交换两个变量的值

public class SwapNumbers {
  public static void main(String[] args) {
    int x = 5;
    int y = 7;

    System.out.println("value of x - " + x);
    System.out.println("value of y - " + y);

    // Logic to swap
    x = x + y;
    y = x - y;
    x = x - y;

    System.out.println("Value of x after swap - " + x);
    System.out.println("Value of y after swap - " + y);
  }
}

输出:

value of x - 5
value of y - 7
Value of x after swap - 7
Value of y after swap - 5