作者qrtt1 (thinking in java)
看板java
標題Re: [問題] 請教傳值呼叫(call by valu)的問題
時間Tue Feb 21 19:44:23 2006
※ 引述《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
1F:推 PsMonkey:又是廣告文... [爆] 唸在你 local save,不砍... [茶] 02/21 20:10