1.方法的定義及呼叫
設計方法的原則:一個方法只完成一個功能,有利於後期的擴充套件
方法的定義:
修飾符(可選) 返回值型別 方法名(引數型別 引數名(可選)){
方法體
return 返回值;
}
2.方法過載
過載:就是在一個類中,有相同的函式名稱,但形參不通的函式
方法的過載規則:
- 方法名稱必須相同;
- 引數列表必須不同(個數不同、或型別不同、引數排列順序不同等);
- 方法的返回型別可以相同,也可以不同;
- 僅僅返回型別不同不足以成為方法的過載。
方法名稱相同時,編譯器會根據呼叫方法的引數個數、引數型別等去逐個匹配,以選擇對應的方法,如果匹配失敗,則編譯器報錯
3.命令列傳參
有時候希望執行一個程式的時候再傳遞給它訊息,這要靠傳遞命令列引數給 main() 函式實現
例:
package com.baidu.method;
public class Demo1 {
public static void main(String[] args) {
for(int i=0;i<args.length;i++){
System.out.println("args["+i+"]:"+args[i]);
}
}
}
DOS 視窗:
javac Demo1.java
cd 到 src 的目錄下執行:
java com.baidu.method.Demo1 this is test
4.可變引數
JDK 1.5 開始,Java 支援傳遞同型別的可變引數給一個方法。
一個方法中只能指定一個可變引數,必須是方法的最後一個引數,任何普通的引數必須在它之前宣告。
public class Demo1 {
public static void main(String[] args) {
Demo1 demo1 = new Demo1();
demo1.test(1,2,3,4,33,5);
}
public void test(int...i){
for(int j=0;j<i.length;j++){
System.out.println(i[j]);
}
}
}
5.遞迴
遞迴:自己呼叫自己
遞迴結構:
- 遞迴頭:什麼時候不呼叫自身方法。如果沒有頭,將陷入死迴圈;
- 遞迴體:什麼時候需要呼叫自身方法。
例:階乘
public static int f(int n){
if (n==1){
return 1;
}else {
return n*f(n-1);
}
}