1. 程式人生 > 實用技巧 >Java方法-命令列傳參、可變引數、遞迴

Java方法-命令列傳參、可變引數、遞迴

命令列傳參

  • 有時候希望執行一個程式的時候再傳遞給它訊息。這要靠傳遞命令列引數給main()函式實現。

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

可變引數

  • JDK1.5開始,Java支援傳遞同類型的可變引數給一個方法。

  • 在方法宣告中,在指定引數型別後加一個省略號(...)。

  • 一個方法中只能指定一個可變引數,它必須是方法的最後一個引數。任何的普通引數必須在它之前宣告。

    public static void printMax( double... numbers){
        if(numbers.length == 0) {
            System.out.println("No argument passed");
            return;
        }
        
        double result = numbers[0];
        
        //排序!
        for (int i = 1; i < numbers.length; i++){
            if (numbers[i] > result) {
                result = numbers[i];
            }
        }
        System.out.println("The max value is" +result);
    }
    

遞迴

  • A方法呼叫B方法,很容易理解!
  • 遞迴就是:A方法呼叫A方法,自己呼叫自己
  • 通過遞迴可以用簡單的程式來解決一些複雜的問題。通常把一個大型複雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞迴策略只需少量的程式就可描述出解題過程所需要的多次重複計算,大大減少了程式的程式碼量。遞迴的能力在於用有限的語句來定義物件的無限集合。
  • 遞迴結構包括兩個部分:
    • 遞迴頭:什麼時候不呼叫自身方法。如不沒有頭,將陷入死迴圈。
    • 遞迴體:什麼時候需要呼叫自身方法。

作業

  • 寫一個計算器,要求實現加減乘除功能,並且能夠迴圈接收新的資料,通過使用者交護實現。
  • 思路推薦:
    • 寫4個方法:加減乘除
    • 利用迴圈+switch進行使用者互動
    • 傳遞需要操作的兩個數
    • 輸出結果