java实现值交换(swap)

 不要传值。因为形参对实参进行值拷贝,函数调用完,释放空间,交换结果传不出来。参数应该为引用类型。

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]);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_41571459/article/details/113532712