不要传值。因为形参对实参进行值拷贝,函数调用完,释放空间,交换结果传不出来。参数应该为引用类型。
1.swap函数定义为public类型
public class Test_Swap {
//public函数
public void swap(int[] brr,int index1,int index2){
int tmp=brr[index1];
brr[index1]=brr[index2];
brr[index2]=tmp;
}
public static void main(String[] args) {
int[] arr= {
10,20};
//依赖于对象,需要通过 对象. 来调用
Test_Swap test=new Test_Swap() ;
test.swap(arr,0,1);
System.out.println(arr[0]+" "+arr[1]);
}
}
2.swap函数定义为public static类型
public class Test_Swap {
//定义为静态方法
public static void swap(int[] brr,int index1,int index2){
int tmp=brr[index1];
brr[index1]=brr[index2];
brr[index2]=tmp;
}
public static void main(String[] args) {
int[] arr= {
10,20};
//两种调用方法
Test_Swap.swap(arr,0,1);
//swap(arr,0,1);
System.out.println(arr[0]+" "+arr[1]);
}
}