大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java中的可變參數

Java中的可變參數

更新時間:2022-12-12 12:44:24 來源:動力節點 瀏覽1318次

Java 中的可變參數 (Varargs) 是一種采用可變數量參數的方法。Java 中的可變參數簡化了需要采用可變數量參數的方法的創建。

需要 Java Varargs

在 JDK 4 之前,我們不能聲明一個帶有變量號的方法。的論據。如果參數數量有任何變化,我們必須聲明一個新方法。這種方法增加了代碼的長度并降低了可讀性。

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

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

可變參數的語法

在內部,Varargs 方法是通過使用單維數組概念實現的。因此,在 Varargs 方法中,我們可以通過使用 Index 來區分參數。可變長度參數由三個句點或點 (...) 指定。

例如,

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

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

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

// 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();
	}
}

輸出

參數數量:1
100
參數數量:4
1 2 3 4
參數數量:0

上面程序的解釋

… 語法告訴編譯器已經使用了可變參數,這些參數應該存儲在由 a 引用的數組中。

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

注意:一個方法也可以有可變長度參數和其他參數,但是應該確保只有一個可變參數參數應該寫在方法聲明的參數列表的最后。例如:

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

在這種情況下,前兩個參數與前兩個參數匹配,其余參數屬于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
參數數量為:2
100 200
字符串:CSPortal
參數數量為:5
1 2 3 4 5
字符串:forGeeks
參數個數為:0

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 人人夜 | 99热久久国产精品免费看 | 久久亚洲综合伊人 | 91精品国产综合久久欧美 | 99久热成人精品视频 | 日韩欧美在线中文字幕 | 蜜桃破解版免费看nba | 国产精品亚洲第一区二区三区 | 国内久久精品 | 国产成人高清在线观看播放 | 看真人视频一级毛片 | 性欧美视频 | 欧美一级全部免费视频 | 大学生一一级毛片在线播放 | 夜夜夜夜夜夜夜工噜噜噜 | 四虎国产精品永久在线网址 | 亚洲成人免费视频在线 | 久9久9精品视频在线观看 | 波多野结衣与公中出中文字幕 | 二级毛片免费观看全程 | 久久美剧免费在线观看 | 91色综合久久 | 国国产自国偷自产第38页 | 日本大片免费一级 | 日本最黄视频 | 欧美亚洲另类图片 | 久久99精品久久久久久综合 | 国产成人黄色在线观看 | 日本福利片国产午夜久久 | 精品精品国产高清a毛片 | 日本天天谢天天要天天爱 | 中文字幕亚洲综合精品一区 | 日本久久一区二区 | 亚洲伊人精品 | 欧美天天爽 | 日一区二区 | 天天躁狠狠躁狠狠躁夜夜躁 | 97久久伊人精品影院 | 国内精品久久久久久网站 | 亚洲欧美日韩高清一区二区一 | 九九视频这里只有精品 |