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

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

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

可變參數(shù)

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

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

public voidfun(int… arr) {}

上面方法fun()的參數(shù)類型為int…,其中“…”不是省略號(hào),而是定義參數(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;
  }

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

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

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

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

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

sum2();

sum2(1);

sum2(1,2);

sum2(1,2,3);

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

2.3 編譯器“二次加工”

編譯器對(duì)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[]”類型。

編譯器對(duì)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í)方便一些,由編譯器幫我們把多個(gè)實(shí)參放到一個(gè)數(shù)組中傳遞給形參。

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

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Java中static變量能繼承嗎

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

最新評(píng)論

西安市| 大竹县| 女性| 嘉荫县| 行唐县| 安图县| 兰考县| 曲松县| 贵阳市| 固原市| 鄂托克前旗| 宁国市| 石景山区| 临漳县| 兰西县| 红桥区| 涿州市| 大荔县| 德安县| 股票| 汤原县| 秦安县| 光泽县| 东乡县| 金华市| 金坛市| 凤冈县| 二连浩特市| 富裕县| 峡江县| 仁布县| 大安市| 洛阳市| 沅陵县| 日照市| 古浪县| 拜泉县| 星座| 嵊泗县| 沂水县| 聂荣县|