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

一篇文章帶你入門java方法

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

方法的使用

什么是方法

初次看到方法兩字,心里有些疑惑。方法不是指為獲得某種東西或達到某種目的而采取的手段與行為方式嗎?這是我們日常生活中所說的方法。而在Java中, 方法就是一個代碼片段,類似于C語言中的函數。

方法的存在意義:

1.當代碼規(guī)模比較復雜的時候,能夠模塊化地組織代碼。

2.做到代碼被重復使用。一份代碼可以在多個位置使用。

3.讓代碼更好理解更簡單。

4.直接調用現有方法開發(fā),不必重復造輪子。

方法的語法

基本語法

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

代碼示例

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

結果為:

image-20210805094220832

注意事項

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

方法的調用

調用規(guī)則

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

代碼示例

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;
}

結果為:

image-20210805100025612

方法的重載

引例

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

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

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

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

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

使用重載

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

同一個方法名字,供不同版本的實現,稱為方法重載。

我們可以通過下面這段代碼進行驗證:

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;
}

結果為:

image-20210805110158073

重載規(guī)則

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

當兩個方法的名字相同,參數也相同,但是返回值不同的時候,不構成重載。 例如:

image-20210805111007916

此時編輯器便報錯。

方法遞歸

遞歸定義

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

代碼示例

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í)行結果為:

image-20210805113629063

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

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

image-20210805154125359

更簡潔的解釋如下:

image-20210805155020536

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

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容在!

相關文章

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

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

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

    Jmeter如何獲取jtl文件中所有的請求報文詳解

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

    sonar-scanner連接sonarquebe7的sonar.java.binaries問題的解決方案

    今天小編就為大家分享一篇關于sonar-scanner連接sonarquebe7的sonar.java.binaries問題的解決方案,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • SpringBoot實現對超大文件進行異步壓縮下載的使用示例

    SpringBoot實現對超大文件進行異步壓縮下載的使用示例

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

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

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

    Spring事務&Spring整合MyBatis的兩種方式

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

    Java CharacterEncodingFilter過濾器的理解和配置案例詳解

    這篇文章主要介紹了Java CharacterEncodingFilter過濾器的理解和配置案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • JavaWeb 實現驗證碼功能(demo)

    JavaWeb 實現驗證碼功能(demo)

    在 WEB-APP 中一般應用于:登錄、注冊、買某票、秒殺等場景,大家都接觸過這個驗證碼操作,今天小編通過實例代碼給大家講解javaweb實現驗證碼功能,需要的朋友參考下
    2017-02-02
  • 解決SpringMVC項目連接RabbitMQ出錯的問題

    解決SpringMVC項目連接RabbitMQ出錯的問題

    這篇文章主要介紹了解決SpringMVC項目連接RabbitMQ出錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • jquery uploadify和apache Fileupload實現異步上傳文件示例

    jquery uploadify和apache Fileupload實現異步上傳文件示例

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

最新評論

达尔| 沾化县| 靖西县| 灵石县| 晋江市| 云浮市| 礼泉县| 彭阳县| 芮城县| 平乡县| 黔东| 阿鲁科尔沁旗| 彩票| 忻州市| 库尔勒市| 全南县| 兖州市| 班戈县| 梧州市| 光泽县| 扎兰屯市| 柏乡县| 洛川县| 环江| 嘉义市| 青铜峡市| 外汇| 麻栗坡县| 银川市| 类乌齐县| 波密县| 宁津县| 关岭| 湘潭市| 密云县| 石阡县| 河南省| 景泰县| 岳池县| 汤阴县| 建水县|