1. 程式人生 > 實用技巧 >C++語言中std::array的神奇用法總結,你需要知道!

C++語言中std::array的神奇用法總結,你需要知道!

# 方法的定義



# 方法的呼叫



## 方法的呼叫與形式引數

```javascript
public static void main(String[] args) {
    //形式引數--比大小
    //呼叫方法
    int result = FunctionDemo01.max(10,10);
    System.out.println(result);
}
//建立一個方法
//修飾符     方法型別  方法名稱(形式引數)
public static  int max(int a,int b){
    if(a==b){
        System.out.println(
"a=b"); return 0; }else if(a>b){ return a; }else{ return b; } } ``` ## 方法的過載---引數型別不同,名字可以相同 規則: 方法名稱必須相同 引數列表必須不同(個數不同,型別不同,引數排列順序不同) 方法的返回值型別可以相同可以不同 僅僅方法的返回值型別不同,不足以構成方法的過載 實現理論: **方法名稱相同時,編譯器會根據呼叫方法的引數個數,引數型別等進行逐個匹配,以選擇對應的方法,如果匹配失敗,則編譯器報錯。** # 命令列傳參 ```javascript
public class CommandDemo { public static void main(String[] args) { for(int i=0;i< args.length;i++){ System.out.println(args[i]); } } } ``` 必須使用cd../回退到src檔案下,再訪問全包名路徑,才可以執行.class檔案 # 可變引數 ```javascript public class VariableDemo { public static void main(String[] args) {
//可變引數,可變引數可以理解為一個數組 findMax(12,36,25,14,99,84,77); //findmax(new double[]{12,23}); } //先定義一個方法,找出最大值 public static void findMax(double... i){ if(i.length==0){ System.out.println("沒有數字"); //return 0; } double max = 0; for(int x=0;x<i.length;x++){ if(i[x]>max){ max=i[x]; } } // return max; System.out.println("最大值是:"+max); } ``` # 遞迴---自己呼叫自己 **缺點:巢狀的比較深的時候可能會造成記憶體崩潰(由於Java的棧機制決定了這樣的性質)** **小計算使用遞迴,大量計算(不使用)** 遞迴結構包含兩個部分: 遞迴頭:什麼時候不呼叫自身方法,如果沒有頭,將陷入死迴圈 遞迴體:什麼時候需要呼叫自身方法 ``javascript public class RecursionDemo { public static void main(String[] args) { //使用遞迴實現階乘 int s = recursion(5); System.out.println("使用遞迴的方法求階乘:"+s); } //定義一個方法 public static int recursion(int i){ if(i==1){ return 1; }else{ return i*recursion(i-1); } } } ``` # 作業---寫一個計算器(實現加減乘除) ```javascript public class HomeWork { public static void main(String[] args) { //做一個計算器時間加減乘除 calculate(10,'-',20); } //定義一個加的方法 public static double add(double a,double b){ double sum = 0; sum=a+b; return sum; } //定義一個減的方法 public static double subtract(double a,double b){ double sum = 0; sum=a-b; return sum; } //定義一個乘的方法 public static double rid(double a,double b){ double sum = 0; sum=a*b; return sum; } //定義一個除的方法 public static double divide(double a,double b){ double sum = 0; sum=a/b; return sum; } //定義計算機 public static double calculate(double a, char f, double b){ switch(f){ case '+': double resulta = add(a,b); System.out.println("a+b="+resulta); //return resulta; break; case '-': double results = subtract(a,b); System.out.println("a+b="+results); // return results; break; case '*': double resultr = rid(a,b); System.out.println("a+b="+resultr); // return resultr; break; case '/': double resultd = divide(a,b); System.out.println("a+b="+resultd); // return resultd; break; default: System.out.println("計算錯誤!"); //return 0; } return 0; ```

來源:【狂神說Java】Java零基礎學習視訊通俗易懂_嗶哩嗶哩 (゜-゜)つロ 乾杯~-bilibili