【Java學習專題】方法重載和遞歸

什麼是方法重載?

方法重載:就是類名相同,參數列表不同的方法。與方法的修飾符和返回值類型沒有任何的關係。

 

爲什麼要有方法重載呢?能幫助我們解決什麼樣的問題?

目的在於我們的代碼更加靈活,自動化,只要是功能相似,就能幫助我們簡化工作。非常的方便。

 

實例代碼:

/**
 * @author Jason
 * @create 2020-04-20 15:42
 */
public class MethodTest07 {
  public static void main(String[] args) {
    System.out.println(maxTest(10,20));
    System.out.println(maxTest(100,50 ,99));
  }
  public static int maxTest(int a, int b){
    return a > b ? a : b;
  }
  public static int maxTest(int a,int b, int c){
    return maxTest(a,b)>c ? maxTest(a,b) : c;
  }
}

什麼是方法遞歸?

方法遞歸:一個方法在執行的過程中調用了另外一個方法,而這個方法就是自己本身,他重複的執行了某段代碼。

體驗下沒有用到遞歸的代碼實例:

 * @author Jason
 * @create 2020-04-20 14:36
 */
public class MethodTest04 {
  public static void main(String[] args) {
    int n = 5;
    int result = sum(n);
    System.out.println("1到" + n + "的和是:" + result);
  }
  public static int sum(int n){
    int Result =0;
    for (int i = 0; i < n; i++) {
      Result += i;
    }
    return Result;
  }
}

採用遞歸方式實現功能的代碼實例:

/**
 * @author Jason
 * @create 2020-04-20 14:52
 */
public class MethodTest05 {
  public static void main(String[] args) {
    int n = 5;
    int result = sum(n);
    System.out.println("1到"+n+"的和是:"+result);
  }

  public static int sum(int n){
    if (n==1){
      return 1;
    }
    return n+sum(n-1);
  }
}

遞歸在內存中的變化過程

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章