1. 程式人生 > 其它 >10、Java方法

10、Java方法

Java方法

定義

Java方法是語句的集合,它們在一起執行一個功能

  • 方法是解決一類問題的的步驟的有序組合
  • 方法包含於類或物件中
  • 方法在程式中被建立,在其他地方被引用

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

命名規則:首字母小寫駝峰


方法包含以下部分

  • 修飾符 可選 pubilc static等
  • 返回值 無返回值時用void
  • 方法名
  • 引數型別 更像一個佔位符,可選,可以不包含任何引數
  • 方法體 返回值 如果不是void ,需要return

拓展:值傳遞&引用傳遞 ???

方法的過載

過載:一個類中可以有相同的函式名,但 形參

不能相同

規則:

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

方法名稱相同時,編譯器會根據呼叫方法的引數個數,型別等去逐個匹配,以確定方法,若匹配失敗,則編譯器報錯

命令列傳參

有時希望執行一個程式時在傳遞引數,需要靠傳遞命令列引數給main()函式來實現

可變引數

  • JDK1.5以後,支援可變引數
  • 指定引數型別後加(...)
  • 一個方法只能定義一個可變引數,必須是方法的最後一個引數,所有普通引數都要在它前面宣告

可以處理重複性過載問題

package day4;

public class Demo01 {
    public static void main(String[] args) {
        Demo01 demo01 = new Demo01();
        demo01.test(1,2,3,4,5);
    }
    public void test(int... i) {
        System.out.println(i[0]);
        System.out.println(i[1]);
        System.out.println(i[2]);
        System.out.println(i[3]);
        System.out.println(i[4]);
    }
}
//  1
//  2
//  3
//  4
//  5

遞迴

遞迴就是自己呼叫自己

高頻面試筆試點

遞迴結構包含兩部分:

  • 遞迴頭:如果沒有頭,將陷入死迴圈,用來控制什麼時候不呼叫自身方法

    需要想辦法讓遞迴走到盡頭

  • 遞迴體:什麼時候需要呼叫自身方法

public class Demo02 {
    public static void main(String[] args) {
        System.out.println(f(5));
    }
    public static int f(int n) {
        if (n==1) {
            return 1;
        } else {
            return n*f(n-1);
        }
    }
}
//  120

小體量可以用遞迴,大體量最好少用