一、方法概述和定義
迄今為止,我們一直用“函數”這個詞指代一個已命名的子例程。但在 Java 里,更常用的一個 詞卻是“方法”,代表“完成某事的途徑”。方法的基本組成部分包括名字、參數列表、返回類型以及主體。下面便是它最基本的形式:
[修飾符] 返回類型 方法名( ?參數列表) {
方法主體;
}
說明如下:
1、返回類型是指調用方法之后返回的數值類型。
沒有返回值: 關鍵字:void來表示.
有 返回 值: 此時返回值類型就應該是基本數據類型/引用數據類型.
注意: 如果方法有返回值類型,此時在方法體里面,必須使用return關鍵字,用于返回一個該類型的值;
2、方法名的作用是對具體的方法進行標識和引用。
3、參數列表列出了想傳遞給方法的數據類型和名稱。
參數列表規定了我們傳送給方法的是什么信息。參數列表包括:參數的類型,參數的個數,參數的順序.
形式參數:方法圓括號里面的變量,形式參數可以有多個.
實際參數:調用方法的時候,實際傳遞的數據,把實際傳遞的數據傳給方法的形式參數.
方法簽名:方法簽名 = 方法名稱 + 參數列表不同的方法的方法簽名是不同的.
修飾符,顧名思義,對方法起修飾作用,public表示訪問權限等.
二、方法執行流程
三、方法的重載
1、定義:大多數程序設計語言要求我們為每個函數都設定一個獨一無二的標識符。所以絕對不能用一個 名為print()的函數來顯示整數,再用另一個 print()顯示浮點數——每個函數都要求具備唯一的名字。 在Java 里,另一項因素強迫方法名出現重載載情況:例如我要滿足下列幾個需求:
需求1:求兩個int類型的數之和.
public static int getSum1(int a,int b){}
需求2:求兩個float類型的數之和.
public static int getSum2(float a,float b){}
需求3:求兩個long類型的數之和.
需求4:求兩個double類型的數之和.
需求5:求一個int類型的數和一個double類型的數之和.
public static int getSum5(int a,double b){}
我們可以發現當我們尋找自己想要使用的方法是會存在一定的困難,同時這樣的代碼冗余性非常的高,當我們使用方法的重載就可以解決這一問題。重載方法是在同一個類中,某方法允許存在一個以上的同名方法,但是他們的參數列表一定要不同。
2、方法重載的作用:屏蔽了同一功能的方法由于參數不同所造成的差異。
3、方法重載判斷原則: “兩同一不同”
兩同:同類中,方法名相同;
一不同:方法參數列表不同(參數類型、參數個數、參數順序);
方法重載解決的問題:解決了,因為功能相同,參數列表不同,而帶來的方法名稱不同的問題.
注意:方法重載和方法的返回值類型無關,只是一般要求返回值類型一致。
四、數組
1、數組的定義與聲明
數組代表一系列對象或者基本數據類型,所有相同的類型都封裝到一起,采用一個統一的標識符名稱。數組的定義和使用是通過方括號索引運算符進行的([])。為定義一個數組,只需在類型名后簡單地跟隨一對空方括號即可:
int[] al;
也可以將方括號置于標識符后面,獲得完全一致的結果:
int al[];(不推薦);
2、數組的初始化(數組必先初始化后才能使用)
靜態初始化:
1、數組名 = new int{元素1,元素2,....};
2、數組名 = {元素1,元素2, ......};
動態初始化:
數組數據類型 數組名 = new int[數組空間大小值];
注意:無論,以哪種方式初始化數組,一旦初始化完成,數組的長度就固定了,不能改變,除非重新初始化,數組是定長的。
3、數組的使用:
例如打印出數組中的元素:
public static void getArray(){
String[] arr= {"A","B","C","D","E"};
//遍歷arr中的所有元素
System.out.print("遍歷數組:");
for(int i = 0 ; i< arr.length; i++)
{
System.out.print(arr2[i]+" ");
}
System.out.println();
}