|NO.Z.00048|——————————|BigDataEnd|——|Java&集合類庫.V05|----------------------------------------------|Java.v05|List集合.二.v02|
1 概述
方法是實現某個功能的語句塊的集合。
System.out.println();
PS:呼叫 System類 中的 out物件 的 println方法。
1.1 方法設計原則
在設計方法時,最好保持方法的原子性。即一個方法只完成 1 個功能。
1.2 命名規則
首字母小寫 和 駝峰原則。
2 定義
方法包含一個方法頭和一個方法體。
2.1 語法
修飾符 返回值型別 方法名(引數型別 引數名){
...
方法體
...
return 返回值;
}
2.2 方法頭
-
修飾符(可選),告知編譯器如何呼叫該方法。定義了該方法的訪問型別。
-
返回值型別,void ( 無需return ) 或 具體的返回值型別修飾(需要 return 對應的返回值)。
-
方法名,是方法的實際名稱。方法名和引數列表共同構成方法簽名。
-
引數型別(可選):引數的資料型別
2.3 方法體
定義方法功能的語句。
2.4 例--最大值
package com.study; public class T { private static int a; public static void main(String[] args) { System.out.println(max(3, 4)); } public static int max(int num1, int num2) { T.a = num1; int result = 0; if (num1 == num2) { System.out.println("a==b"); return 0; } else if (num1 > num2) { result = num1; } else { result = num2; } return result; } }
3 方法呼叫
- 呼叫方法:物件名.方法名(實參列表)
- Java支援兩種呼叫方法的方式,根據方法是否返回值來選擇。
3.1 有返回值
當方法有返回值時,方法呼叫通常被黨走一個值,如:
int max = max(30,40);
3.2 無返回值
方法返回值為void,方法呼叫一定是一條語句,如:
System.out.println();
4 值傳遞 和 引用傳遞
參考:https://blog.csdn.net/qq_47897078/article/details/120211873
4.1 值傳遞
指在呼叫函式時將實際引數複製一份傳遞到函式中,這樣在函式中如果對引數進行修改,將不會影響到實際引數。
4.2 引用傳遞
指在呼叫函式時將實際引數的地址直接傳遞到函式中,那麼在函式中對引數所進行的修改,將影響到實際引數。
PS:Java中只有值傳遞,只不過對於物件引數,值的內容是物件的引用。
5 方法的過載
過載就是在一個類中,有相同的函式名稱,但形參不同的函式。
5.1 過載規則
-
方法名稱必須相同
-
引數列表不同(個數、型別,引數排列順序不同等)
-
方法的返回值型別相同或不同
-
僅僅只有返回型別不同不能稱為方法的過載
匹配規則:方法名稱相同時,編譯器會根據呼叫方法的引數個數、引數型別等逐個匹配,以選擇對應的方法,若匹配失敗,則編譯器報錯。
5.2 例項
package com.study;
public class T {
public int max(int num1, int num2) {
int result = 0;
if (num1 == num2) {
System.out.println("a==b");
return 0;
} else if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
//方法過載
public double max(double num1, double num2) {
double result = 0;
if (num1 == num2) {
System.out.println("a==b");
return 0;
} else if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
}
6 命令列傳參
有時候你希望執行一個程式 傳遞給它訊息。這要靠傳遞命令列引數給 main()函式實現。
例項
package com.study;
public class T {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("args[" + i + "]" + args);
}
}
}
7 可變引數
-
JDK 1.5 開始,Java支援傳遞同類型的 可變引數 給一個方法
-
在方法宣告中,在指定引數型別加一個省略號(...)
-
一個方法中只能指定一個可變引數,它必須時方法的最後一個引數。任何普通的引數必須在它之前宣告
例項
package com.study;
public class T {
public static void main(String[] args) {
printMax(66,70,56,32,108);
}
public static void printMax(double... num) {
if (num.length == 0) {
System.out.println("沒有任何引數");
return;//結束
}
double result = num[0];
//比大小
for (int i = 1; i < num.length; i++) {
if (num[i] > result) {
result = num[i];
}
}
System.out.println("The max value is " + result);
}
}