Java零基礎精通方法篇
一、前言
- 學習概述:學習四種不同類型的方法應用、方法被調用時的內存圖、重載
- 學習目標:熟練掌握方法的應用以及重載
二、定義與調用
1.概述
- 定義:方法是一種語法結構,把一段代碼封裝成一個功能,方便重復調用
- 分類:一般分為參數(帶/不帶)、返回值(有/無)
- 好處:提高代碼復用性、邏輯更加清晰
2.格式
修飾符 返回值類型 方法名( 形參列表 )
{
//方法體
return 返回值;
}
范例:
3.調用
方法必須通過程序調用 才能運行,調用格式如下:
方法名(…);
范例:
int sum = add(10, 20); System.out.println(sum);
4.註意
- 修飾符:目前暫時使用public static 修飾
- 形參:可以沒有,但有多個需要逗號分隔,調用時需要傳入對應類型的變量值
- 返回值:如果方法定義瞭返回類型,方法內部的代碼段一定要體現。如果方法不需要返回結果,返回值類型必須申明成void(無返回值)
三、范例
1. 例題 1
設計一個方法(無參、無返回值)用於打印兩個數字的大小關系
編碼實現:
public static void main(String[] args) { getRelation();//調用方法 } public static void getRelation() { int a=10; int b=20; if(a>b) { System.out.println("a大於b"); } else if(a<b) { System.out.println("a小於b"); } else { System.out.println("a等於b"); } }
輸出結果:
a小於b
2. 例題 2
設計一個方法(有參、無返回值)用於打印兩個數字的最大值
編碼實現:
public static void main(String[] args) { getMax(10,20);//調用方法 } public static void getMax(int a,int b)//帶參無返回值 { if(a>b) { System.out.println(a); } else { System.out.println(b); } }
輸出結果:
20
3. 例題 3
設計一個方法(有參、有返回值 int 型)用於打印兩個數字的最大值
編碼實現:
public static void main(String[] args) { System.out.println(getMax(10,20));//調用方法 } public static int getMax(int a,int b)//帶參無返回值 { if(a>b) { return a; } else { return b; } }
輸出結果:
20
四、方法調用的內存圖
- 方法未被調用,在方法區中的字節碼文件中存放
- 方法調用,進入到棧內存中運行
- java程序編譯生成class字節碼文件,方法區存入main方法、eat、study、eat方法。進入主函數調用,在棧內存運行輸出結果。
五、重載
1.概述
定義:同一個類中,出現多個方法名稱相同,但是形參列表不同(類型不同或數量不同),與返回值無關
例如下面幾個例子,判斷是否為方法重載?
- 第一個不是,與返回值無關
- 第二個是,形參數量不同
- 第三個是,形參定義類型不同
- 第四個不是,不在同一個類中
2.例題
構造三個重載的方法,分別實現兩個int型整數相加的和、兩個double類型數據相加的和、三個int類型數據相加的和
編碼實現:
public static void main(String[] args) { int result=sum(10,20); System.out.println(result); double result1=sum(10.0, 20.0); System.out.println(result1); int result2=sum(10, 20,30); System.out.println(result2); } public static int sum(int a,int b) { return a+b; } public static double sum (double a,double b) { return a+b; } public static int sum(int a,int b,int c) { return a+b+c; }
輸出結果:
30
30.0
60
3.總結
- 重載可讀性好,方法名稱相同是同一類型的功能,但通過形參不同實現功能差異化的選擇
- 形參列表不同:形參的個數、類型、順序不同,不關心形參的名稱
到此這篇關於Java零基礎精通方法篇的文章就介紹到這瞭,更多相關Java方法內容請搜索LevelAH以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持LevelAH!