1. 程式人生 > >java兩個數進行交換,使用方法不能實現的問題分析

java兩個數進行交換,使用方法不能實現的問題分析

class Test{
    
    public static void main(String[] args){
    
        int a=5;
        int b=11;
        swap(a,b);  //沒有任何卵用,因為方法結束後,方法內部作出的動作,包括變數值得改變都已經終結,
                    //絲毫不會影響該方法外賣的值,你可以理解為別人的蛋蛋碎了,但是你的蛋蛋還在.

        so輸出的結果不會發生變化
        

    }

    public void swap(int i,int j){   //方法被呼叫後會在棧區開闢一個空間,方法內部執行結束後,使用
                                     //的棧區就地銷燬了,內部的什麼鬼都被消滅了,外面根本不知道這
                                     //東西是個什麼玩意(外面的同樣存在於棧區的變數)

        int temp=i;
        i=j;
        j=temp;
    
    }


}

如果還是不懂,我給你個比喻, 比如說現在有三個房間,有兩個房間是正在造人運動,有一個房間是正在做狸貓換太子的把戲,然並卵,結果你問造人的是不是做了狸貓換太子,最後的迴應是什麼,給你兩巴掌

也就是說 : a  和 b 和呼叫 swap(a,b)是獨立做事情的,互相沒有互動行為 .