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