Re: [問題] 請教傳值呼叫(call by valu)的問題
※ 引述《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
02/21 20:10, 1F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章