1. 程式人生 > 實用技巧 >容器(四)限制容器對CPU的使用【23】

容器(四)限制容器對CPU的使用【23】

1.何謂方法

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

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

    一個方法只完成一個功能

public class Demo01 {
    public static void main(String[] args) {
        int sum = add(1, 2);
        System.out.println(sum);
    }
    public static int add(int a,int b){
        return a+b;
    }
}

2.方法的定義及呼叫

2.1方法的定義

  • 方法頭

    • 修飾符:可選內容,告訴編譯器如何呼叫這個方法。定義了該方法的訪問型別

    • 返回值型別:方法可能會有返回值。returnValueType是方法返回值的資料型別。有些時候方法無返回值時。資料型別為void。

    • 方法名:方法的名稱

    • 引數型別

      • 形式引數:用來定義方法時的值
      • 實參:實際呼叫時,傳遞給方法的值
  • 方法體:實現方法的語句塊

====================================================================

public class Demo01 {
    public static void main(String[] args) {
        int sum = add(1, 2);//1,2為實參
        System.out.println(sum);
    }
    //修飾符  返回值型別  方法名  形式引數
    public static int add(int a,int b){
        return a+b;//返回語句
    }
}

3.方法的過載

  1. 方法名稱必須相同

  2. 引數列表不同(個數不同/型別不同)

  3. 返回值可以不同,但僅僅返回型別不同不可以構成方法過載

4.命令列傳參

希望執行時,再給程式傳遞訊息

public class Demo02 {
    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++) {
            System.out.println("args[" + i + "]:" + args[i]);
        }
    }
}

5.可變引數(不定引數)

  • jdk1.5之後,Java支援傳遞同類型的可變引數給一個方法。

注:

  • 宣告中,在指定引數型別後加一個省略號(...)
  • 一個方法只能指定一個可變引數,它必須是方法的最後一個引數
public class Demo03 {
    public static void main(String[] args) {
        new Demo03().printMax(13,56.2,12,34);
    }

    public void printMax(double ...numbers){
        if(numbers.length == 0) {
            System.out.println("No Valid Information!");
            return;
        }
        
        double max = 0;
        for (int i = 0; i < numbers.length; i++) {
            if(numbers[i] > max) {
                max = numbers[i];
            }
        }
        System.out.println("Max :" + max);
    }
}

6.遞迴

自己呼叫自己。將一個大型複雜的問題轉換為一個與原問題相似的規模較小的問題來解決。大大減少的程式碼量

  • 遞迴結構包括兩個部分
    1. 遞迴頭:什麼時候不呼叫自身
    2. 遞迴體:什麼時候呼叫自身
public class Demo04 {
    public static void main(String[] args) {
        System.out.println(new Demo04().fnc(5));
    }
    //階乘用遞迴演算法實現
    public int fnc(int x){
        if(x == 1){//遞迴頭
            return 1;
        } else{//遞迴體
            return x*fnc(x-1);
        }
    }
}

  • 安利良心Up主,超棒!

狂神說Java