交换两个数的三种方法

时间:2021-02-22 19:30:10

1.使用临时变量

public static void main(String args[]) throws Exception {
    int a = 1;
    int b = 2;
    System.out.println("交换前:a="+a+" b="+b);
    int temp;
    temp = a;
    a = b;
    b = temp;
    System.out.println("交换后:a="+a+" b="+b);
    }

2.不使用临时变量——加减法
注意int范围

public static void main(String args[]) throws Exception {
    int a = 1;
    int b = 2;
    System.out.println("交换前:a="+a+" b="+b);
    a = a + b;
    b = a - b;
    a = a - b;
    System.out.println("交换后:a="+a+" b="+b);
    }

3.不适用临时变量——使用位运算的亦或方法
原理:一个数亦或同一个数两次还值不变。

public static void main(String args[]) throws Exception {
    int a = 1;
    int b = 2;
    System.out.println("交换前:a="+a+" b="+b);
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    System.out.println("交换后:a="+a+" b="+b);
    }

附:
python交换两个数可以是:a, b = b, a