黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java中的可變參數(shù)

Java中的可變參數(shù)

更新時(shí)間:2022-12-12 12:44:24 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1421次

Java 中的可變參數(shù) (Varargs) 是一種采用可變數(shù)量參數(shù)的方法。Java 中的可變參數(shù)簡(jiǎn)化了需要采用可變數(shù)量參數(shù)的方法的創(chuàng)建。

需要 Java Varargs

在 JDK 4 之前,我們不能聲明一個(gè)帶有變量號(hào)的方法。的論據(jù)。如果參數(shù)數(shù)量有任何變化,我們必須聲明一個(gè)新方法。這種方法增加了代碼的長(zhǎng)度并降低了可讀性。

在 JDK 5 之前,可以通過兩種方式處理可變長(zhǎng)度參數(shù)。一個(gè)使用重載方法(每個(gè)方法一個(gè)),另一個(gè)將參數(shù)放入一個(gè)數(shù)組,然后將該數(shù)組傳遞給該方法。它們都可能容易出錯(cuò)并且需要更多代碼。

為了解決這些問題,JDK 5 中引入了可變參數(shù) (Varargs)。從 JDK 5 開始,我們可以聲明一個(gè)參數(shù)數(shù)量可變的方法。這種類型的方法稱為 Varargs 方法。varargs 特性提供了一個(gè)更簡(jiǎn)單、更好的選擇。

可變參數(shù)的語(yǔ)法

在內(nèi)部,Varargs 方法是通過使用單維數(shù)組概念實(shí)現(xiàn)的。因此,在 Varargs 方法中,我們可以通過使用 Index 來區(qū)分參數(shù)。可變長(zhǎng)度參數(shù)由三個(gè)句點(diǎn)或點(diǎn) (...) 指定。

例如,

public static void fun(int ... a)
{
   // 方法體
}

此語(yǔ)法告訴編譯器可以使用零個(gè)或多個(gè)參數(shù)調(diào)用 fun()。因此,這里 a 被隱式聲明為 int[] 類型的數(shù)組。

下面是用于說明上述概念的代碼片段:

// Java program to demonstrate varargs
class Test1 {
	// A method that takes variable
	// number of integer arguments.
	static void fun(int... a)
	{
		System.out.println("Number of arguments: "
						+ a.length);
		// using for each loop to display contents of a
		for (int i : a)
			System.out.print(i + " ");
		System.out.println();
	}
	// Driver code
	public static void main(String args[])
	{
		// Calling the varargs method with
		// different number of parameters	
		// one parameter
		fun(100);		
		// four parameters
		fun(1, 2, 3, 4);		
		// no parameter
		fun();
	}
}

輸出

參數(shù)數(shù)量:1
100
參數(shù)數(shù)量:4
1 2 3 4
參數(shù)數(shù)量:0

上面程序的解釋

… 語(yǔ)法告訴編譯器已經(jīng)使用了可變參數(shù),這些參數(shù)應(yīng)該存儲(chǔ)在由 a 引用的數(shù)組中。

變量a作為數(shù)組進(jìn)行操作。在本例中,我們將數(shù)組“a”的數(shù)據(jù)類型定義為 int。所以它只能取整數(shù)值。可以使用 a.length 找出參數(shù)的數(shù)量,這是我們?cè)?Java 中查找數(shù)組長(zhǎng)度的方法。

注意:一個(gè)方法也可以有可變長(zhǎng)度參數(shù)和其他參數(shù),但是應(yīng)該確保只有一個(gè)可變參數(shù)參數(shù)應(yīng)該寫在方法聲明的參數(shù)列表的最后。例如:

int nums(int a, float b, double ... c)

在這種情況下,前兩個(gè)參數(shù)與前兩個(gè)參數(shù)匹配,其余參數(shù)屬于c。

// Java program to demonstrate
// varargs with normal arguments
class Test2 {
	// Takes string as a argument followed by varargs
	static void fun2(String str, int... a)
	{
		System.out.println("String: " + str);
		System.out.println("Number of arguments is: "
						+ a.length);
		// using for each loop to display contents of a
		for (int i : a)
			System.out.print(i + " ");
		System.out.println();
	}
	public static void main(String args[])
	{
		// Calling fun2() with different parameter
		fun2("GeeksforGeeks", 100, 200);
		fun2("CSPortal", 1, 2, 3, 4, 5);
		fun2("forGeeks");
	}
}

輸出

字符串:GeeksforGeeks
參數(shù)數(shù)量為:2
100 200
字符串:CSPortal
參數(shù)數(shù)量為:5
1 2 3 4 5
字符串:forGeeks
參數(shù)個(gè)數(shù)為:0

 

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 2021人人莫人人擦人人看 | 午夜影院免费版 | 男女视频免费在线观看 | 老司机精品久久 | 亚洲精品成人av在线 | 污视在线看 | 在线播放黄色网址 | 国产精品h片在线播放 | 亚洲欧美日韩天堂 | 爱麻豆| 日韩一级二级三级 | 亚洲国产成人精品激情 | 国内精品卡一卡二卡三 | 亚洲免费在线看 | 欧美另类第一页 | 在线观看视频99 | 毛片免费播放 | 国产亚洲一区二区三区在线 | 国产精品免费久久 | 亚洲综合在线成人一区 | 污在线| 91青草久久久久久清纯 | 午夜影院日韩 | 岛国aⅴ| 国产综合亚洲专区在线 | 一级片黄色a| www中文字幕在线观看 | 在线观看理论片免费韩国 | 午夜看一级特黄a大片 | 中文字幕视频一区 | 中文字幕在线乱人伦 | 亚洲成网站www久久九 | 123日本不卡在线观看 | 天天影视涩香欲综合网 | 国产麻豆永久视频 | 亚色在线视频 | 欧美久久久久久久久 | xxxx亚洲| 手机在线观看视频你懂的 | 久艹在线观看 | 中文字幕在线网站 |