最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一篇文章帶你入門java方法

 更新時(shí)間:2021年08月06日 10:11:14   作者:rampant boy  
這篇文章主要介紹了java基礎(chǔ)之方法詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下

方法的使用

什么是方法

初次看到方法兩字,心里有些疑惑。方法不是指為獲得某種東西或達(dá)到某種目的而采取的手段與行為方式嗎?這是我們?nèi)粘I钪兴f(shuō)的方法。而在Java中, 方法就是一個(gè)代碼片段,類似于C語(yǔ)言中的函數(shù)。

方法的存在意義:

1.當(dāng)代碼規(guī)模比較復(fù)雜的時(shí)候,能夠模塊化地組織代碼。

2.做到代碼被重復(fù)使用。一份代碼可以在多個(gè)位置使用。

3.讓代碼更好理解更簡(jiǎn)單。

4.直接調(diào)用現(xiàn)有方法開(kāi)發(fā),不必重復(fù)造輪子。

方法的語(yǔ)法

基本語(yǔ)法

// 方法定義
public static 方法返回值 方法名稱([參數(shù)類型 形參 ...]){
     //方法體代碼;
     return 返回值;
}
// 方法調(diào)用
返回值變量 = 方法名稱(實(shí)參...);

代碼示例

public static void main(String[] args) {
    int a = 20;
    int b = 30;
    int c = add(a,b);//方法的調(diào)用
    System.out.println(c);
}
//方法的定義
public static int add(int a,int b) {
    return a + b;
}

結(jié)果為:

image-20210805094220832

注意事項(xiàng)

  • 方法定義時(shí),參數(shù)可以沒(méi)有,每個(gè)參數(shù)要指定類型。
  • 方法定義時(shí),返回值也可以沒(méi)有,如果沒(méi)有返回值,則返回值類型應(yīng)寫成 void。
  • 方法定義時(shí)的參數(shù)稱為"形參",方法調(diào)用時(shí)的參數(shù)稱為 “實(shí)參”。
  • 方法的定義必須在類之中, 代碼書寫在調(diào)用位置的上方或者下方均可。
  • Java 中沒(méi)有 “函數(shù)聲明” 這樣的概念。

方法的調(diào)用

調(diào)用規(guī)則

  • 定義方法的時(shí)候,不會(huì)執(zhí)行方法的代碼。只有調(diào)用的時(shí)候才會(huì)執(zhí)行。
  • 當(dāng)方法被調(diào)用的時(shí)候,會(huì)將實(shí)參賦值給形參。
  • 參數(shù)傳遞完畢后,就會(huì)執(zhí)行到方法體代碼。
  • 當(dāng)方法執(zhí)行完畢之后(遇到 return 語(yǔ)句),就執(zhí)行完畢,回到方法調(diào)用位置繼續(xù)往下執(zhí)行。
  • 一個(gè)方法可以被多次調(diào)用。

代碼示例

public static void main(String[] args) {
    int a = 20;
    int b = 30;
    int c = add(a,b);
    System.out.println("c = " + c);
    int d = add(a,c);
    System.out.println("d = "+ d);
    int e = add(c,d);
    System.out.println("e = "+ e);
}
public static int add(int a,int b) {
    return a + b;
}

結(jié)果為:

image-20210805100025612

方法的重載

引例

如果我們需要一個(gè)計(jì)算兩個(gè)整型之和的方法,那么我們可以這樣定義:

public static int addInt(int a,int b) {
        return a + b;
}

如果我們需要一個(gè)計(jì)算兩個(gè)double型之和的方法,那么我們可以這樣定義:

public static double addDouble(double a, double b) {
        return a + b;
}

我們可以發(fā)現(xiàn),這兩個(gè)方法的作用基本相同,都是計(jì)算兩數(shù)之和,只是參數(shù)和返回類型不同而已。那么我們是否可以將其簡(jiǎn)化呢?

使用重載

public static int add(int a,int b) {
        return a + b;
}
public static double add(double a, double b) {
    return a + b;
}

同一個(gè)方法名字,供不同版本的實(shí)現(xiàn),稱為方法重載。

我們可以通過(guò)下面這段代碼進(jìn)行驗(yàn)證:

public static void main(String[] args) {
    int a = 20;
    int b = 30;
    double c = 5.4;
    double d = 7.8;
    System.out.println(add(a,b));
    System.out.println(add(c,d));
}
public static int add(int a,int b) {
    return a + b;
}
public static double add(double a, double b) {
    return a + b;
}

結(jié)果為:

image-20210805110158073

重載規(guī)則

  • 方法名相同
  • 參數(shù)列表不同(參數(shù)個(gè)數(shù)和參數(shù)類型不同)
  • 返回值不作要求
  • 重載不是必須要在一個(gè)類當(dāng)中(繼承)

當(dāng)兩個(gè)方法的名字相同,參數(shù)也相同,但是返回值不同的時(shí)候,不構(gòu)成重載。 例如:

image-20210805111007916

此時(shí)編輯器便報(bào)錯(cuò)。

方法遞歸

遞歸定義

一個(gè)方法在執(zhí)行過(guò)程中調(diào)用自身,同時(shí)有一個(gè)趨近于終止的條件,就稱為方法遞歸。

代碼示例

public static void main(String[] args) {
    int n = 5;
    int ret = fac(n);
    System.out.println("ret = " + ret);
}
//求n的階乘
public static int fac(int n) {
    if(n == 1) {
        return 1;
    } else {
        return n * fac(n - 1);
    }
}

執(zhí)行結(jié)果為:

image-20210805113629063

遞歸執(zhí)行過(guò)程分析

例如上面這段代碼,它的執(zhí)行過(guò)程如下:

image-20210805154125359

更簡(jiǎn)潔的解釋如下:

image-20210805155020536

所有的遞歸都可以這樣分析。

總結(jié)

本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容在!

相關(guān)文章

  • 詳解如何在Java中加密和解密zip文件

    詳解如何在Java中加密和解密zip文件

    在本文中,我們來(lái)學(xué)習(xí)如何用Zip4j庫(kù)創(chuàng)建受密碼保護(hù)的壓縮文件并將其解壓,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-09-09
  • Jmeter如何獲取jtl文件中所有的請(qǐng)求報(bào)文詳解

    Jmeter如何獲取jtl文件中所有的請(qǐng)求報(bào)文詳解

    JMeter的可以創(chuàng)建一個(gè)包含測(cè)試運(yùn)行結(jié)果的文本文件,這些通常稱為JTL文件,因?yàn)檫@是默認(rèn)擴(kuò)展名,但可以使用任何擴(kuò)展名,這篇文章主要給大家介紹了關(guān)于Jmeter如何獲取jtl文件中所有的請(qǐng)求報(bào)文的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • sonar-scanner連接sonarquebe7的sonar.java.binaries問(wèn)題的解決方案

    sonar-scanner連接sonarquebe7的sonar.java.binaries問(wèn)題的解決方案

    今天小編就為大家分享一篇關(guān)于sonar-scanner連接sonarquebe7的sonar.java.binaries問(wèn)題的解決方案,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • SpringBoot實(shí)現(xiàn)對(duì)超大文件進(jìn)行異步壓縮下載的使用示例

    SpringBoot實(shí)現(xiàn)對(duì)超大文件進(jìn)行異步壓縮下載的使用示例

    在Web應(yīng)用中,文件下載功能是一個(gè)常見(jiàn)的需求,本文介紹了SpringBoot實(shí)現(xiàn)對(duì)超大文件進(jìn)行異步壓縮下載的使用示例,具有一定的參考價(jià)值,感興趣的可以了解一下,
    2023-09-09
  • mybatis-generator-gui 工具使用(圖形化工具)

    mybatis-generator-gui 工具使用(圖形化工具)

    基于 mybatis generator 開(kāi)發(fā)一款界面工具, 本工具可以使你非常容易及快速生成 Mybatis 的 Java POJO 文件及數(shù)據(jù)庫(kù) Mapping 文件。本文重點(diǎn)給大家介紹mybatis-generator-gui 工具使用,感興趣的朋友一起看看吧
    2022-03-03
  • Spring事務(wù)&Spring整合MyBatis的兩種方式

    Spring事務(wù)&Spring整合MyBatis的兩種方式

    這篇文章主要介紹了Spring事務(wù)&Spring整合MyBatis的兩種方式,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • Java CharacterEncodingFilter過(guò)濾器的理解和配置案例詳解

    Java CharacterEncodingFilter過(guò)濾器的理解和配置案例詳解

    這篇文章主要介紹了Java CharacterEncodingFilter過(guò)濾器的理解和配置案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • JavaWeb 實(shí)現(xiàn)驗(yàn)證碼功能(demo)

    JavaWeb 實(shí)現(xiàn)驗(yàn)證碼功能(demo)

    在 WEB-APP 中一般應(yīng)用于:登錄、注冊(cè)、買某票、秒殺等場(chǎng)景,大家都接觸過(guò)這個(gè)驗(yàn)證碼操作,今天小編通過(guò)實(shí)例代碼給大家講解javaweb實(shí)現(xiàn)驗(yàn)證碼功能,需要的朋友參考下
    2017-02-02
  • 解決SpringMVC項(xiàng)目連接RabbitMQ出錯(cuò)的問(wèn)題

    解決SpringMVC項(xiàng)目連接RabbitMQ出錯(cuò)的問(wèn)題

    這篇文章主要介紹了解決SpringMVC項(xiàng)目連接RabbitMQ出錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • jquery uploadify和apache Fileupload實(shí)現(xiàn)異步上傳文件示例

    jquery uploadify和apache Fileupload實(shí)現(xiàn)異步上傳文件示例

    這篇文章主要介紹了jquery uploadify和apache Fileupload實(shí)現(xiàn)異步上傳文件示例,需要的朋友可以參考下
    2014-05-05

最新評(píng)論

咸阳市| 邯郸县| 航空| 富顺县| 汉沽区| 巴马| 南投市| 宜兴市| 潍坊市| 安图县| 鲜城| 伊宁县| 广灵县| 临洮县| 东乌| 绥德县| 邓州市| 广州市| 巴林右旗| 高邑县| 武宣县| 新宁县| 永康市| 霍城县| 兴化市| 泽普县| 三门县| 咸阳市| 浦江县| 攀枝花市| 彭州市| 青龙| 焦作市| 三河市| 中卫市| 花垣县| 留坝县| 玉山县| 从江县| 普兰店市| 正阳县|