1. 程式人生 > >好程式設計師學習筆記:函式

好程式設計師學習筆記:函式

一、函式

具有某種特定功能的一段程式碼,函式簡化了程式碼,提高了程式碼的複用性,增加了安全性簡化了操作。其包括修飾詞、返回值型別、函式名(引數列表、{ 、函式體、執行的程式碼、

return 返回值、}等構成。具體來說:

修飾詞:確定當前函式的適用範圍,一般使用的是public(公共的),這裡暫不多述。

返回值型別:提示當前函式返回值的型別,返回值可以不存在,但是必須給出,即使沒有所需void,如果存在,就寫出相對應的返回值型別。

函式名:為當前函式的名字,不可省略,像一個的命名規則,需遵守小駝峰原則(一個函式名可以由多個單片語成,除第一個單詞以外,所有的單詞首字母大寫。)需要注意,函式名儘量做到見名知意。

引數列表:執行函式時傳入函式的資料,可以有0個或多個,多個引數之間需隔開,如果沒有引數,函式名後面的括號不能省略。

函式體:真正實現功能的地方。

執行程式碼:實現的功能。

return 返回值:return可以理解成一個動詞,指代向外丟擲的意思,會將資料拋到返回值型別的位置,外界再去接收這個值。需要提示的是return的功能,包括:

(1)可以將值傳出函式。

(2)return有結束的意思,後面不能再寫程式碼。

(3)如果函式有返回值,要保證任何情況下都有返回值。

注意點:

(1)如果沒有返回值,不需要寫return。如果有return,後面只能跟一個值。       

(2)return還有結束的意思,後面的程式碼不會再執行。

因此,我們在建立一個函式的時候,要求每個函式都儘量完成一個功能,強調功能的單一性。

二、函式的呼叫

方法:函式的名字+()

注意點:

1.函式的呼叫可以巢狀,函式的定義不可巢狀。

2.我們定義好的函式,必須通過呼叫實現。

3.面向過程中稱為函式,面向物件中稱為方法。

三、形參實參

    實參意為實際的引數。形參意為形式上的引數,必須通過接收實參時起到的作用。應用實參,形參問題時需注意,他們的個數,位置,型別,必須保持一致,在實際的賦值過程中,程式會將實參的值依次付給形參。

函式例項:使用函式求兩個數的最大值。分析如下:

1.先寫一個無參無返回值的函式。

2.將求兩個數最大值的功能直接扔進函式。

3.對函式進行優化。

四、全域性變數和區域性變數

    全域性變數:一般我們把直接定義在類中得變數稱為全域性變數。

區域性變數:我們將定義在函式,for,if等內部得變數及形參稱為區域性變數。

注意,在一個類得內部我們能直接看到的只有全域性變數的定義和函式的定義。從定義當前的變數開始到變數被銷燬的過程為整個生命週期。其作用域在於生命週期內變數可以起作用的範圍。我們又可對其細分為全域性變數的作用域和區域性變數的作用域兩個部分。

全域性變數的作用域包括整個類,除了static修飾的方法。區域性變數的作用域則包含從定義當前的變數開始到他所在的函式,for,if等結束。當變數的生命週期結束的時候意味著變數被釋放了。其區別在於作用的範圍不同,預設值的不同,全域性變數如果沒有賦值,系統會給預設值-為0,區域性變數必須先賦值再使用。

五、過載

對於同一個類中的函式,函式的名字相同,引數不相同,我們將他們的關係稱為過載。這裡為什麼可以同名?因為在程式的內部真正識別函式時,識別的是函式名+所有引數的型別。但是值得注意的是過載的函式本質上是不同的函式。

我們不妨可做出總結,函式名必須相同。引數必須不同(型別,個數,位置),但是與引數的名字無關。過載