java13編程基礎之方法深入
大綱
方法入門
概述
前講解的循環操作,可以解決的是代碼重複的問題,但是此時的重複的代碼必須是有規律的。那循環操作,能解決所有的代碼重複嗎?答案肯定是不行的,比如針對於某一種功能的重複操作,循環就無法實現,我們可以使用方法.
編寫一個飛機大戰遊戲,程序在運行過程中,需要不斷地發射子彈。假設發射子彈功能需要編寫200行代碼,那麼,每次發射子彈都需要重複地編寫這200行代碼,這樣的程序太low了。在開發中我們要遵循DRY原則(Don’t Repeat Youself)——不要重複你自己的代碼,因爲重複意味着維護成本很大,如果要修改功能代碼,則每一個重複的地方都要修改一次,你敢確保每個重複的地方都能改到嗎?你不感到厭煩嗎?
爲了解決功能代碼重複編寫的問題,可以把發射子彈的代碼提取出來專門放在一個代碼塊(一對{})中,併爲這段代碼起個唯一的名字,如此,每次發射子彈的時候直接通過這個名字就可以調用發射子彈的功能代碼了。這個代碼塊我們稱之爲方法。
方法就是 <font color="red"> 封裝在一起來執行操作語句的集合,用來完成某個功能操作。 </font>
優點
- 使程序變得更簡短而清晰。
- 有利於程序維護。
- 可以提高程序開發的效率。
- 提高了代碼的重用性。
定義與使用
聲明格式:
[修飾符] 方法返回值類型 方法名(形參列表) {
方法體;
return 返回值;
}
//有返回值類型的方法
public static int add(int a, int b, int c ){ //求和
int k = a + b + c;
return k;
}
//沒有返回值的方法,沒有形參
public static void printStar(){ //打印5行5列的星星
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
System.out.print("* ");
}
System.out.println();
}
}
-
訪問修飾符:方法允許被訪問的權限範圍;
-
返回值類型:如果方法不返回任何值,則指定爲void;如果方法具有返回值,則需要指定返回值的類型,並且在方法體中使用 return語句返回值;
-
方法名:定義方法的名字,必須使用合法的標識符,見名知意。
- 形參列表:參數可以有多個,多個參數間以逗號隔開,每個參數由參數類型和參數名組成,以空格隔開。
調用:
方法定義完成後,若要使用,必須調用它。在調用時,調用的控制權由方法調用處轉移到方法中,方法遇到 return 或者 }結束時,將調用權交還給調用處。也就是”從哪裏來到哪裏去”的套路。
方法名([實參列表])
注意:
-
方法不調用不執行
-
存在返回值,接收變量或匿名接收(輸出或者調用)
-
定義方法指定形參,調用方法指定實參
- 方法調用是要求形參實參要求個數相同,類型匹配