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

淺談Java中的可變參數(shù)

 更新時間:2016年10月01日 10:06:33   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談Java中的可變參數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

可變參數(shù)

可變參數(shù)就是一個方法可以接收任意多個參數(shù)!例如:fun()、fun(1)、fun(1,1)、fun(1,1,1)。你可能認(rèn)為這是方法重載,但這不是重載,你想想重載能重載多少個方法,而fun()方法是可以傳遞任何個數(shù)的參數(shù),你能重載這么多個方法么?

2.1 定義可變參數(shù)方法

public voidfun(int… arr) {}

上面方法fun()的參數(shù)類型為int…,其中“…”不是省略號,而是定義參數(shù)類型的方式。參數(shù)arr就是可變參數(shù)類型。你可以把上面代碼理解為:public void fun(int[] arr)。

public int sum1(int[] arr) {
    int sum = 0;
    for(int i = 0; i < arr.length; i++) {
      sum += arr[i];
    }
    return sum;
  }

public int sum2(int... arr) {
    int sum = 0;
    for(int i = 0; i < arr.length; i++) {
      sum += arr[i];
    }
    return sum;
  }

你可能會想,“int[]”和“int…”沒有什么不同,只是“int…”是一種新的定義數(shù)組形參的方式罷了。那么我應(yīng)該恭喜你了!沒錯,這么理解就對了!但要注意,只有在方法的形參中可以使用int…來代替int[]。

2.2 調(diào)用帶有可變參數(shù)的方法

sum1()和sum2()兩個方法的調(diào)用:

sum1(new int[]{1,2,3});
sum2(new int[]{1,2,3});

這看起來沒什么區(qū)別!但是對于sum2還有另一種調(diào)用方式:

sum2();

sum2(1);

sum2(1,2);

sum2(1,2,3);

這看起來好像是使用任意多個參數(shù)來調(diào)用sum2()方法,這就是調(diào)用帶有可變參數(shù)方法的好處了。

2.3 編譯器“二次加工”

編譯器對sum2方法定義的“二次加工”結(jié)果為:

public int sum2(int[] arr) {
    int sum = 0;
    for(int i = 0; i < arr.length; i++) {
      sum += arr[i];
    }
    return sum;
  }

即把“int…”修改為“int[]”類型。

編譯器對sum2方法調(diào)用的二次加載結(jié)果為:

sum2(new int[0]);
sum2(new int[] {1});
sum2(new int[] {1, 2});
sum2(new int[] {1, 2, 3});

結(jié)論:可變參數(shù)其實(shí)就是數(shù)組類型,只不過在調(diào)用方法時方便一些,由編譯器幫我們把多個實(shí)參放到一個數(shù)組中傳遞給形參。

2.4 可變參數(shù)方法的限制

l  一個方法最多只能有一個可變參數(shù);

l  可變參數(shù)必須是方法的最后一個參數(shù)。

以上就是小編為大家?guī)淼臏\談Java中的可變參數(shù)的全部內(nèi)容了,希望對大家有所幫助,多多支持腳本之家~

相關(guān)文章

  • Springboot項目保存本地系統(tǒng)日志文件的實(shí)現(xiàn)方法

    Springboot項目保存本地系統(tǒng)日志文件的實(shí)現(xiàn)方法

    這篇文章主要介紹了Springboot項目保存本地系統(tǒng)日志文件的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Java算法實(shí)戰(zhàn)之排一億個隨機(jī)數(shù)

    Java算法實(shí)戰(zhàn)之排一億個隨機(jī)數(shù)

    我們在生活中經(jīng)常遇見一些這樣的需求,隨機(jī)點(diǎn)名、公司年會抽獎、微信拼手氣紅包等,還有一些游戲比如打地鼠小游戲、俄羅斯方塊等,這些場景中都會用到一種算法:隨機(jī),這篇文章主要給大家介紹了關(guān)于Java算法實(shí)戰(zhàn)之排一億個隨機(jī)數(shù)的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Mybatis返回結(jié)果封裝map過程解析

    Mybatis返回結(jié)果封裝map過程解析

    這篇文章主要介紹了Mybatis返回結(jié)果封裝map過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • 詳解Mybatis中javaType和ofType的區(qū)別

    詳解Mybatis中javaType和ofType的區(qū)別

    本文主要介紹了詳解Mybatis中javaType和ofType的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Java如何獲取word文檔的條目化內(nèi)容

    Java如何獲取word文檔的條目化內(nèi)容

    這篇文章主要介紹了Java獲取word文檔的條目化內(nèi)容的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • Java語言----三種循環(huán)語句的區(qū)別介紹

    Java語言----三種循環(huán)語句的區(qū)別介紹

    下面小編就為大家?guī)硪黄狫ava語言----三種循環(huán)語句的區(qū)別介紹。小編舉得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • Spring MVC注解式開發(fā)示例完整過程

    Spring MVC注解式開發(fā)示例完整過程

    這篇文章主要介紹了Spring MVC注解式開發(fā)示例完整過程,MVC注解式開發(fā)即處理器基于注解的類開發(fā),對于每一個定義的處理器,無需在xml中注冊,只需在代碼中通過對類與方法的注解,即可完成注冊
    2023-02-02
  • 詳解Java中的字節(jié)碼增強(qiáng)技術(shù)

    詳解Java中的字節(jié)碼增強(qiáng)技術(shù)

    字節(jié)碼增強(qiáng)技術(shù)就是一類對現(xiàn)有字節(jié)碼進(jìn)行修改或者動態(tài)生成全新字節(jié)碼文件的技術(shù)。本文將通過示例詳細(xì)說說Java的字節(jié)碼增強(qiáng)技術(shù),需要的可以參考一下
    2022-10-10
  • Java實(shí)現(xiàn)調(diào)用MySQL存儲過程詳解

    Java實(shí)現(xiàn)調(diào)用MySQL存儲過程詳解

    相信大家都知道存儲過程是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL語句集。存儲過程是數(shù)據(jù)庫中的一個重要對象,任何一個設(shè)計良好的數(shù)據(jù)庫應(yīng)用程序都應(yīng)該用到存儲過程。Java調(diào)用mysql存儲過程,實(shí)現(xiàn)如下,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • Java中static變量能繼承嗎

    Java中static變量能繼承嗎

    這篇文章主要介紹了Java中static變量能繼承,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07

最新評論

新泰市| 金乡县| 康保县| 潮州市| 西充县| 余干县| 高台县| 郯城县| 呼玛县| 垣曲县| 吴江市| 得荣县| 德惠市| 莫力| 澄城县| 宜宾县| 罗江县| 莱芜市| 肃宁县| 石城县| 万州区| 满城县| 郴州市| 迁西县| 宾阳县| 南乐县| 丰原市| 金溪县| 京山县| 东乡族自治县| 平阴县| 合肥市| 垫江县| 共和县| 张家界市| 正镶白旗| 织金县| 黄大仙区| 双桥区| 平邑县| 荆门市|