05.Java 方法詳解

落落的学习發表於2024-05-01

1.方法的定義及呼叫

設計方法的原則:一個方法只完成一個功能,有利於後期的擴充套件

方法的定義

修飾符(可選) 返回值型別 方法名(引數型別 引數名(可選)){
    方法體
    return 返回值;
}

2.方法過載

過載:就是在一個類中,有相同的函式名稱,但形參不通的函式
方法的過載規則

  1. 方法名稱必須相同;
  2. 引數列表必須不同(個數不同、或型別不同、引數排列順序不同等);
  3. 方法的返回型別可以相同,也可以不同;
  4. 僅僅返回型別不同不足以成為方法的過載。

方法名稱相同時,編譯器會根據呼叫方法的引數個數、引數型別等去逐個匹配,以選擇對應的方法,如果匹配失敗,則編譯器報錯

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.遞迴

遞迴:自己呼叫自己
遞迴結構

  1. 遞迴頭:什麼時候不呼叫自身方法。如果沒有頭,將陷入死迴圈;
  2. 遞迴體:什麼時候需要呼叫自身方法。

例:階乘

    public static int f(int n){
        if (n==1){
            return 1;
        }else {
            return n*f(n-1);
        }
    }

相關文章