實參和形參

來源:互聯網
上載者:User
-------------------------------------------------------百科中的解釋(有修改)------------------------------------------------------------實參(argument):  全稱為"實際參數"是在調用時傳遞給函數的參數. 實參可以是常量、變數、運算式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。      形參(parameter):全稱為"形式參數" 由於它不是實際存在變數,所以又稱虛擬變數。是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳入的參數.在調用函數時,實參將賦值給形參。因而,必須注意實參的個數,類型應與形參一一對應,並且實參必須要有確定的值。-------------------------------------------------------百科中的解釋(有修改)------------------------------------------------------------我的理解: java中有些內建方法需要實際參數,用來提供給方法,讓方法用這些值來做我們需要的“事”,比如如果計算三角函數 的值,就必須提供一個你打算計算的角度,比如50.08°,等,這個double類型的值就可以成為這個求三角函數方法的實際參數。至於形式參數,可以理解為自變數,比如我們通常說的x。不管這個x的值是45°還是60°,我們寫的這個求三角函數的方法都可以把他算出來,對於下面這個方法:
 
  1. 1 Public static void showTwice(String p) 
    2 {
    3 System.out.println(p);
    4 System.out.println(p);
    5 }
這個方法中的p就是一個形式參數的變數名,我們寫這個方法時根本不知道p的實際值是什麼,但是這個方法都會將這個值輸出到螢幕兩次。為了調用這個方法,我們在main方法中寫如下代碼:
1 Public static void main(String[] args) 
2 {
3 showTwice("conquer it");
4 }
對比可知,"conquer it " 這個字串就是實際參數給了showTwice方法,完成了這個方法的一個實際調用,為了再完成一個說明。可以把上面這個調用寫成如下:
1 Public static void main(String[] args) 
2 {
3 String p1="conquer it";
4 showTwice(p1);
5 }
 這裡,p1就只是起一個替代“conquer it”的作用。相對於形式參數的變數名p,作為實際參數傳入的變數名p1不起任何作用。  實參和形參的區別:1.英文名字不同,這個上面我已經標註了,看英語教材的朋友可以參考下 2..本質不同:形參的本質是一個名字,不佔用記憶體空間。實參的本質是一個變數,已經佔用記憶體空間。 3.在調試的時候,parameter就轉變成argument,這時也往往不使用argument一詞,而是稱之為variable(變數),因為實參本質上就是一個變數,在記憶體中佔用一塊空間。 ps:個人知識能力有限,根據自己的理解,參考一些文章所做,如有錯誤之處,還請不吝賜教,互相學習,彼此進步。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.