1. 程式人生 > 實用技巧 >11月訓練2

11月訓練2

方法集合

方法是語句的集合,可一起執行一個功能

格式修飾符 返回值型別 方法名(引數型別 引數名){

...方法體...

return 返回值 ;

//return 除了返回結果還有終止方法

}

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

返回值型別:returnValueType 返回值的資料型別,無返回值時 void

方法名:方法實際名稱

引數: 實際參 / 形式引數 可以傳遞一些具體的值,也可以為空

方法體: 包含具體的語句,定義了該方法的功能

設計方法原則:保持原子性,一個方法只完成一個功能,這樣有利於我們後期的擴充套件。

構造方法直接呼叫

  public static void main(String[] args){

//實際引數 實際呼叫傳給他的引數
int i = fangFaMing(2, 3);
System.out.println(i);
} // 形式引數,用來定義作用的
public static int(返回型別,可空 void) fangFaMing(int a,int b){
return a+b;
}
}

main(...)方法 {

裡面要簡潔

}

通過方法呼叫來使用

(java)是值傳遞,引用傳遞

基本型別作為引數傳遞時,是傳遞值的拷貝,無論你怎麼改變這個拷貝,原值是不會改變的

例子:

public class changeDemo {
public static void main(String[] args) {
int n = 3;
System.out.println("Before change, n = " + n);
changeData(n);
System.out.println("After changeData, n = " + n);
}

public static void changeData(int n) {
n = 10;
}
}

例子

  public static void main(String[] args) {
int max = max(2, 3);
System.out.println(max);

}
public static int max(int num1,int num2){
if(num1 > num2){
return num1;
}else{
return num2;
}
}
}

方法過載

  1. 過載名字必須相同 否則就不是一個方法不叫過載

  2. 引數型別必須不同(個數,型別,引數排列順序不同)

  3. 方法返回型別可以相同也可以不同,機器自己判斷使用對應的方法,

  4. 僅僅返回型別不足以成為方法過載。

//可任意int max = max(9,8,10);只要方法內部邏輯正確
int max = max(9, 8);
System.out.println(max);

}

public static int max(int num1, int num2) {
if (num1 > num2) {
return num1;
} else {
return num2;
}

}

public static int max(int num1, int num2, int num3) {
if (num1 < num2) {
if (num2 < num3) {
return num3;
} else {
return num2;
}
}
if (num1 > num3) {
return num1;
} else {
return num3;
}
}
}

命令列傳遞引數

可變引數

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

2.一個方法只能制定一個可變引數,它必須是方法的最後一個引數。

public static int test(double x,int... i){
System.out.println(i[0]);
return 0 ;
}

遞迴

遞迴就是 自己呼叫自己

可以解決一些簡單的計算容易奔潰

遞迴結構包括兩個部分

遞迴頭:什麼時候不呼叫自身方法,遞迴邊界,結束條件,如果沒有頭,將陷入死迴圈。

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