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!

推薦閱讀: