一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - 淺談Java中的可變參數(shù)

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

2020-06-20 11:37jingxian JAVA教程

下面小編就為大家?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)。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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ò),這么理解就對了!但要注意,只有在方法的形參中可以使用int…來代替int[]。

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

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

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

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

?
1
2
3
4
5
6
7
sum2();
 
sum2(1);
 
sum2(1,2);
 
sum2(1,2,3);

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

2.3 編譯器“二次加工”

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

?
1
2
3
4
5
6
7
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é)果為:

?
1
2
3
4
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ù)的全部內(nèi)容了,希望對大家有所幫助,多多支持服務(wù)器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 大学第一次基本都没了 | 国产98在线 | 色欲都市 | 久久99国产综合精品AV蜜桃 | 精品久久成人免费第三区 | 午夜视频在线网站 | 欧美在线视频一区在线观看 | 贵妇的私人性俱乐部 | 校草太大了h | 91大神大战高跟丝袜美女 | 久久视频精品3线视频在线观看 | 国产午夜免费 | 好大好硬好长好爽a网站 | 四虎国产欧美成人影院 | tobu8在线观看免费高清 | 免费观看在线永久免费xx视频 | 国产nv精品你懂得 | 日本高清视频在线的 | 法国老妇性xx在线播放 | 99久热只有精品视频免费观看17 | 天天久久影视色香综合网 | 国产一二在线观看视频网站 | 无人区尖叫之夜美女姐姐视频 | 国产永久免费爽视频在线 | 国产最新进精品视频 | 成人小视频在线观看免费 | 亚洲视频在线免费 | 亚洲久草 | 成人国产在线视频 | 免费看男人狂躁女人 | 天天爽天天 | 国产伦精品一区二区三区免费观看 | 日本网| 草逼视频网站 | 四虎在线永久视频观看 | 欧美兽皇video | 欧美一区二区三区精品影视 | 无人在线视频高清免费观看动漫 | 欧美日韩一区二区三区免费 | 欧美一级特黄特色大片免费 | 999精品视频在线观看热6 |