1.函數:定義在類中的具有特定功能的一段獨立小程序。
函數也稱之為方法。
為了提高代碼的復用性,對代碼進行抽取。
將這個部分定義成一個獨立的功能。方便使用。
java中對功能的定義通過函數來實現的。
2函數的格式:修飾符 返回值類型 函數名(參數類型 形式參數1, 參數類型 形式參數2,)
{ 執行語句;
return 返回值;
}
返回值類型:函數運行后結果的數據類型。
參數類型:形式參數的數據類型。
形式參數:是一個變量,用於存儲調用函數時傳遞給函數的實際參數。
實際參數:傳遞給實際參數的具體值。
return:用於結束函數。
返回值:該值返回調用者。
3.函數運算后,沒有具體的返回值時,這時返回值類型用一個特殊的關鍵字來標識。
該關鍵字為void。void代表的是函數沒有具體的返回值類型。
當函數的返回值類型為void時,函數中的return語句可以省略不寫。
函數只可以在另一個函數調用,不能在另一個函數中定義。
4.java中最小功能單元是函數
如何定義一個函數?
1.函數是一個獨立的功能,該功能的運算結果先明確,明確返回值類型。
2.明確定義該功能的過程中是否需要未知的內容參與運算,明確參數列表。
例如:x+y;的需求分析:
①.功能結果是一個和,返回類型是int。
②.有未知類型參與運算,兩個類型為int。
5.返回值類型為void的返回后不能被輸出。返回的是結果不可被調用。(只能在函數中直接打印。)
return返回的結果可以被調用。
6.函數在需要調用時可以使用,不需要則不執行。
7.函數重載:同一個類中,允許存在一個或一個以上同名函數,只要它們的參數個數或者參數類型不同即可;
重載只和函數類型(參數類型)有關系;和返回值類型沒關系。和類型先后順序有關(順序不同即為重載)。
什么時候用重載:當定義功能相同,但參與的運算的未知內容不同。
那么,這時就定義一個函數名稱以表示功能,方便閱讀,而通過參數列表的不同來區分多個同名函數。
可以在函數下調用另一個同名函數;
public class functionTest {
public static void main(String[] args) {
int[] array1 = { 12, 8, 4, 6, 9, 99 };
double[] array2 = { 12.0, 215.10, 6546.2, 563.12 };
int max1 = MaxArray(array1);
double max2 = MaxArray(array2);//允許函數名相同,調用參數類型不同的在一個class中;
System.out.println("最大值為" + max1);
System.out.println("最大值為" + max2);
}
public static int MaxArray(int[] array1) {
int max = 0; // 以角標的形式查找數據;
for (int i = 0; i < array1.length; i++) {
if (array1[max] < array1[i]) {
max = i;
}
}
return array1[max];
}
public static double MaxArray(double[] array2) {
double max = array2[0]; // 以角標的形式查找數據;
for (int i = 0; i < array2.length; i++) {
if (max < array2[i]) {
max = array2[i];
}
}
return max;
}
}