Re: [問題] 請教傳值呼叫(call by valu)的問題

看板java作者 (thinking in java)時間19年前 (2006/02/21 19:41), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
※ 引述《phechen ()》之銘言: : 小弟在書上看到Call by value的一個範例,有兩個問題想請教板友們... : 先附上程式碼: : 1 class : 2 { : 3 public static void main(String args[]) : 4 { : 5 int x=10; : 6 System.out.println("呼叫process方法前,x的值為" +x); : 7 process(x); : 8 System.out.println("呼叫process方法後,x的值為" +x); : 9 } : 10 static void process(int y) : 11 { : 12 y+=10; : 13 System.out.println("process這方法中的 y =" +y); : 14 } : 15 } : 執行結果: : 呼叫process方法前,x的值為 10 : process這方法中的 y =20 : 呼叫process方法後,x的值為 10 : 小弟的問題: : 為何排序不是"process這方法中的 y =20"在最後面, : 而是"呼叫process方法後,x的值為 10"在最後面呢? : 另外,第七行為process(x),第十行為process(int y), : 一個是x,一個是y,為什麼x會傳給process(int y)呢?兩者有什麼關係嗎? 1. java always call by value 2. why why why, tell you 壞. 因為你程式就那樣寫, 就會那樣的順序啊 :) 3. "他"傳給"他", 大概只是為了演示call by value, 因為call by value不會更動傳入的參數值 所以, 要call一下, 看看是不是真的如此 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.26.34.214

02/21 20:10, , 1F
又是廣告文... [爆] 唸在你 local save,不砍... [茶]
02/21 20:10, 1F
文章代碼(AID): #13-lnUd4 (java)
文章代碼(AID): #13-lnUd4 (java)