由于java中没有指针,所以像c那样swap两个变量没法实现,所以就想了一种方法。在要交换的两个变量之外,再添加一个变量,保存交换后的结果。
代码:
package com.demo;
public class MainActivity {
static void swap1(int a,int b) {
int tmp;
tmp = a;
a = b;
b = tmp;
}
static void swap2(int[] list,int a,int b) {
int tmp;
tmp = a;
a = b;
b = tmp;
list[0] = a;
list[1] = b;
}
public static void main(String[] args) {
int a = 1;
int b = 2;
swap1(a,b);
System.out.print("swap1 a = "+ a+" b = "+ b);
int[] ints = new int[2];
swap2(ints,a,b);
a = ints[0];
b = ints[1];
System.out.print("\nswap2 a = "+ a+" b = "+ b);
}
}
运行结果:
swap1 a = 1 b = 2
swap2 a = 2 b = 1