1. 程式人生 > 其它 >方法的過載以及遞迴結構

方法的過載以及遞迴結構

方法過載

java允許同一個類中定義多個同名方法,只要他們的形參列表不同即可。如果同一個類中包含了兩個或兩個以上方法名相同的方法,但形參列表不同,這種情況被稱為方法過載。

構成方法過載的條件:

  1. 構成列表不同的含義:形參型別、形參個數、形參順序不同
  2. 只有返回值不同不構成方法的過載,如:int a (String str){}與void a(String str){}不構成方法過載
  3. 只有形參的名稱不同,不構成方法的過載。如:Int a(String str){}與int a(String s){}不構成方法過載

遞迴結構

遞迴的基本思想就是自己呼叫自己

遞迴結構包括兩個部分:

  1. 定義遞迴頭解決:什麼時候不呼叫自身方法。如果沒有頭,將陷入死迴圈,也就是遞迴的結束條件
  2. 遞迴體。解決:什麼時候需要呼叫自身方法
//測試遞迴結構階乘
public class Test {
    public static void main(String[] args) {
       int b =  test(8);
        System.out.println(b);
    }
    public static int test(int a ){
        if(a==1){
            return 1;
        }else {
            return a*test(a-1);
        }
    }
}

程式碼練習:算輸入數的階乘

階乘:一個正整數的階乘factorial)是所有小於及等於該數的正整數,並且0的階乘為1。自然數n的階乘寫作n!。1808年,基斯頓·卡曼引進這個表示法。

亦即n!=1×2×3×...×(n-1)×n。階乘亦可以遞迴方式定義:0!=1,n!=(n-1)!×n。