數組引用傳遞


  在java中,所有對象都是通過引用進行操作的。而數組也是一種對象,當把數組作為參數傳遞給方法時,傳遞的實際上就是數組對象的引用。在方法中對數組的所有操作,都會映射到原數組中,這也是java面向對象的一個重要特征。而所謂的"引用",就是java對象在堆內存的地址賦給了多個"棧內存"的變量。

public class ArrayReturn {
    public static int[] sort(int[] arr){
        //冒泡排序算法
        for(int i = 0;i < arr.length;i++){
            for(int j = i+1;j< arr.length;j++){
                if(arr[i] < arr[j]){
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;                    
                }
            }
        }
        return arr;
    }
    public static void printArr(int[] arr,String msg){
        System.out.println(msg);
        for(int i : arr){
            System.out.print(i+" ");
        }
        System.out.println();
    }
    
    public static void main(String[] args) {
        int[] arr = {3,12,7,8,70,36,41};
        int[] arrnew;//聲明一個新數組引用(別名)
        printArr(arr,"排序前:");
        arrnew = sort(arr);//把數組作為參數傳遞給方法時,傳遞的實際上就是該數組對象的引用。
        printArr(arrnew,"排序后:");
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM