java中的方法,我們可以將其看成一個功能的集合,他們是為了解決特定問題的代碼組合。比如:司機會開車,老師會教書一樣,不同的方法可以實現不同的功能。
方法的定義語法:
訪問修飾符 返回值類型 方法名(參數列表){ 方法體}在上面的語法說明中:
訪問修飾符,代表方法允許被訪問的權限范圍, 可以是 public、PRotected、private 甚至可以省略 ,其中 public 表示該方法可以被其他任何代碼調用
返回值類型是方法返回值的類型,如果方法不返回任何值,則返回值類型指定為 void (代表無類型);如果方法具有返回值,則需要指定返回值的類型,并且在方法體中使用return 語句返回值。
方法名是方法的名字,必須使用合法的標識符。
參數列表是傳遞給方法的參數列表,參數可以有多個,多個參數間以逗號隔開,每個參數由參數類型和參數名組成,以空格隔開。
根據方法是否帶參、是否帶返回值,可將方法分為四類:
無參無返回值方法無參帶返回值方法帶參無返回值方法帶參帶返回值方法例如:
public class PrintScore { public static void main(String[] args) { // 創建對象,對象名為a printScore a = new printScore(); int rSum; //設置一個int型變量,用來接收方法的返回值 // 調用方法,傳入兩門課程的成績 rSum = a.calcSum(78,99); System.out.println("總分:"+ rSum); } /* * 功能:計算兩門課程考試成績的總分并輸出總分 * 定義一個包含兩個參數的方法,用來傳入兩門課程的成績 */ public int calcSum(int a, int b){ int sum= a + b; return sum; }} 如上所示:方法名為calcSum
,他有兩個參數int a
和int b
,在方法調用的時候必須傳入這兩個參數。它有一個int 型
的返回值,所以在方法里,有一條語句return sum;
用來返回sum
的值,而在方法調用的時候,我們用一個int 型
變量rSum
來接收這個返回值。方法calcSum
實現了將兩門課程的總成績算出并返回。
注意:
方法體放在一對大括號中,實現特定的操作
方法名主要在調用這個方法時使用,需要注意命名的規范,一般采用第一個單詞首字母小寫,其它單詞首字母大寫的形式
調用方法的語法是對象名.方法名
或 類名.靜態方法名
參數與參數列表
在現實生活中,我們為了完成某件事情之前是需要一些條件的,比如我們買東西肯定是需要錢的。當然,方法也是如此。我們需要方法幫我們完成某項功能的時候,需要根據需求去調整條件。于是就有了參數。
我們可以通過在方法中加入參數列表接收外部傳入的數據信息,參數可以是任意的基本類型數據或引用類型數據。
例如:
public void printName(String name){ System.out.println(name);} 上面就是一個方法,方法名為printName
,無返回值,參數類型為String
,參數名name
,它的功能是打印姓名,我們通過參數將姓名傳入到這個方法中,利用方法將姓名輸出到控制臺上。
調用帶參方法與調用無參方法的語法類似,但在調用時必須傳入實際的參數值。語法為對象名.方法名(參數1,參數2...)
在這里我們必須區分什么是實參什么是形參。我們先看一個例子。
public class printScore { public static void main(String[] args) { // 創建對象,對象名為a printScore a = new printScore(); double rAve; //用來存放返回的平均成績 //兩課的成績,是我們實際的參數 int sub1 = 78; int sub2 = 99; // 調用方法,傳入兩門課程的成績 rAve = a.calcAve(sub1,sub2); System.out.println("平均分:"+rAve); } /* * 功能:計算兩門課程考試成績的平均分并輸出平均分 * 定義一個包含兩個參數的方法,用來傳入兩門課程的成績 * 兩個參數 a 和 b 為我們的形參,只在方法內有效 */ public double calcAve(int a, int b){ double ave = (a + b) / 2; return ave; }} 我們可以通過內存的圖示來簡單地說明一下。

上圖是方法調用前內存的情況,所有的變量都存放在桟中,由系統統一管理,因為我們在定義變量rAve
時未對它進行初始化,所以它的值是隨機的,由它所在空間原有的值決定。


方法調用時,系統會專門為方法開辟一塊空間用來存放方法內的變量。此時大家可以看到,sub1
和sub2
兩個實參其實并沒有進入方法中,只是將它們兩個的值賦值個了形參a
和b
。

方法調用結束后,系統會釋放掉方法所產生的空間,回收系統資源。該方法有返回值,并被rAve
接收了。
注意:
調用帶參方法時,必須保證實參的數量、類型、順序與形參一一對應
調用方法時,實參不需要指定數據類型
當方法參數有多個時,多個參數間以逗號分隔
返回值
如上面的例子所示,方法是一個實現了條件輸入和結果輸出的過程,往往我們需要對方法的結果進行進一步的處理,這時候我們就需要方法返回值了。
注意:
如果方法的返回類型為 void ,則方法中可以不使用return返回值或使用return;
方法的返回值最多只能有一個,不能返回多個值。
方法返回值的類型必須兼容,也就是說如果返回值類型為 int ,則不能返回 String 型值
調用帶返回值的方法時,由于方法執行后會返回一個結果,因此在調用帶返回值方法時,一般都會接收其返回值并進行處理
新聞熱點
疑難解答