[問題] 請教傳值呼叫(call by value)的問題

看板java作者時間19年前 (2006/02/21 19:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
小弟在書上看到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)呢?兩者有什麼關係嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.66.127.251 ※ 編輯: phechen 來自: 210.85.12.21 (02/21 20:24)
文章代碼(AID): #13-lNDmr (java)
文章代碼(AID): #13-lNDmr (java)