java方法中形式參數的傳遞相關面試題

class ArgsDemo{
    public static void main(String[] args){
        //定義兩個變量
        int a = 10 ;
        int b = 20 ;
        System.out.println("a:"+a) ;//10
        System.out.println("b:"+b) ;//20
        //調用了一個方法
        change(a,b) ;//方法的參數如果是基本數據類型,形參的改變對實際參數沒有影響
        System.out.println("a:"+a) ;//  10
        System.out.println("b:"+b) ;//  20
        //定義一個數組
        int[] arr = {1,2,3,4,5} ;
        change(arr) ;
        System.out.println(arr[1]) ; //4
    }
    public static void change(int a,int b){
        System.out.println("a:"+a) ;
        System.out.println("b:"+b) ;    
        a = b ;
        b = a+ b;
    }
    public static void change(int[] arr){  //形式參數是引用類型,形參的改變直接影響實際參數
        //遍歷數組
        for(int x = 0 ; x < arr.length ; x ++){
            if(arr[x] %2 ==0 ){
                arr[x]*=2 ;
            }
        }
    }

}

圖解:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章