Java零基礎(chǔ)精通方法篇
一、前言
- 學(xué)習(xí)概述:學(xué)習(xí)四種不同類型的方法應(yīng)用、方法被調(diào)用時(shí)的內(nèi)存圖、重載
- 學(xué)習(xí)目標(biāo):熟練掌握方法的應(yīng)用以及重載
二、定義與調(diào)用
1.概述
- 定義:方法是一種語(yǔ)法結(jié)構(gòu),把一段代碼封裝成一個(gè)功能,方便重復(fù)調(diào)用
- 分類:一般分為參數(shù)(帶/不帶)、返回值(有/無(wú))
- 好處:提高代碼復(fù)用性、邏輯更加清晰
2.格式
修飾符 返回值類型 方法名( 形參列表 )
{
//方法體
return 返回值;
}
范例:
3.調(diào)用
方法必須通過程序調(diào)用 才能運(yùn)行,調(diào)用格式如下:
方法名(…);
范例:
int sum = add(10, 20); System.out.println(sum);
4.注意
- 修飾符:目前暫時(shí)使用public static 修飾
- 形參:可以沒有,但有多個(gè)需要逗號(hào)分隔,調(diào)用時(shí)需要傳入對(duì)應(yīng)類型的變量值
- 返回值:如果方法定義了返回類型,方法內(nèi)部的代碼段一定要體現(xiàn)。如果方法不需要返回結(jié)果,返回值類型必須申明成void(無(wú)返回值)
三、范例
1. 例題 1
設(shè)計(jì)一個(gè)方法(無(wú)參、無(wú)返回值)用于打印兩個(gè)數(shù)字的大小關(guān)系
編碼實(shí)現(xiàn):
public static void main(String[] args) { getRelation();//調(diào)用方法 } 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"); } }
輸出結(jié)果:
a小于b
2. 例題 2
設(shè)計(jì)一個(gè)方法(有參、無(wú)返回值)用于打印兩個(gè)數(shù)字的最大值
編碼實(shí)現(xiàn):
public static void main(String[] args) { getMax(10,20);//調(diào)用方法 } public static void getMax(int a,int b)//帶參無(wú)返回值 { if(a>b) { System.out.println(a); } else { System.out.println(b); } }
輸出結(jié)果:
20
3. 例題 3
設(shè)計(jì)一個(gè)方法(有參、有返回值 int 型)用于打印兩個(gè)數(shù)字的最大值
編碼實(shí)現(xiàn):
public static void main(String[] args) { System.out.println(getMax(10,20));//調(diào)用方法 } public static int getMax(int a,int b)//帶參無(wú)返回值 { if(a>b) { return a; } else { return b; } }
輸出結(jié)果:
20
四、方法調(diào)用的內(nèi)存圖
- 方法未被調(diào)用,在方法區(qū)中的字節(jié)碼文件中存放
- 方法調(diào)用,進(jìn)入到棧內(nèi)存中運(yùn)行
- java程序編譯生成class字節(jié)碼文件,方法區(qū)存入main方法、eat、study、eat方法。進(jìn)入主函數(shù)調(diào)用,在棧內(nèi)存運(yùn)行輸出結(jié)果。
五、重載
1.概述
定義:同一個(gè)類中,出現(xiàn)多個(gè)方法名稱相同,但是形參列表不同(類型不同或數(shù)量不同),與返回值無(wú)關(guān)
例如下面幾個(gè)例子,判斷是否為方法重載?
- 第一個(gè)不是,與返回值無(wú)關(guān)
- 第二個(gè)是,形參數(shù)量不同
- 第三個(gè)是,形參定義類型不同
- 第四個(gè)不是,不在同一個(gè)類中
2.例題
構(gòu)造三個(gè)重載的方法,分別實(shí)現(xiàn)兩個(gè)int型整數(shù)相加的和、兩個(gè)double類型數(shù)據(jù)相加的和、三個(gè)int類型數(shù)據(jù)相加的和
編碼實(shí)現(xiàn):
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; }
輸出結(jié)果:
30
30.0
60
3.總結(jié)
- 重載可讀性好,方法名稱相同是同一類型的功能,但通過形參不同實(shí)現(xiàn)功能差異化的選擇
- 形參列表不同:形參的個(gè)數(shù)、類型、順序不同,不關(guān)心形參的名稱
到此這篇關(guān)于Java零基礎(chǔ)精通方法篇的文章就介紹到這了,更多相關(guān)Java方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot與springmvc基礎(chǔ)入門講解
本篇文章主要介紹了詳解快速搭建Spring Boot+Spring MVC,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2021-07-07解決springboot啟動(dòng)失敗的問題('hibernate.dialect'?not?set)
這篇文章主要介紹了解決springboot啟動(dòng)失敗的問題('hibernate.dialect'?not?set),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12SpringBoot項(xiàng)目整合jasypt實(shí)現(xiàn)過程詳解
這篇文章主要介紹了SpringBoot項(xiàng)目整合jasypt實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08通過實(shí)例學(xué)習(xí)Java集合框架HashSet
這篇文章主要介紹了通過實(shí)例學(xué)習(xí)Java集合框架HashSet,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Mybatis中一條SQL使用兩個(gè)foreach的問題及解決
這篇文章主要介紹了Mybatis中一條SQL使用兩個(gè)foreach的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02springmvc+kindeditor文件上傳實(shí)例詳解
這篇文章主要為大家詳細(xì)介紹了springmvc+kindeditor文件上傳實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08