閱讀1017 返回首頁    go 技術社區[雲棲]


JDK5.0新特性--可變參數

/**
 * 可變參數
 */
public class VariableParamater {

	/**
	 * 統計2個或多個數的和
	 */
	public static void main(String[] args) {
		//計算2個數的和
		sum(10,15);
		
		/*
		 * 問題:如果要計算3個數、4個數、5個數或n個數的和,那我們不是要寫n個相同的方法,傳遞n個參數進行累加?
		 *    注:在同一個類中有多個方法的名字相同,且參數列表不同(參數個數、參數類型),稱之為方法重載(method overload)
		 * 解決方案:
		 * 由此類似的問題jdk5.0引入可變參數的新特性,語法格式:修飾符 返回值 方法名(參數數據類型 ...參數名){}
		 * jdk會將”...參數名“隱式的轉換成一個數組,我們在方法中把該參數當作數組處理就可以達到計算n個數的和
		 */
		sum(10,15,20,30,40);

	}
	
	/**
	 * 統計2個數的和
	 * @param num1 第1個數 
	 * @param num2 第2個數
	 * @return 2個數的和
	 */
	private static int sum(int num1, int num2) {
		return num1 + num2;
	}
	
	/**
	 * 統計多個數的和
	 * @param nums 待統計的數組
	 * @return 統計後的和
	 */
	private static int sum(int ...nums) {
		int count = 0;
		for (int num : nums) {
			count += num;
		}
		return count;
	}

}

注意:可變參數,必須是方法參數列表中的最後一個。

最後更新:2017-04-02 06:52:18

  上一篇:go 插入一個整數到一個有序的數組中,並保證該數組是有序的
  下一篇:go 項目3:PHP抽獎程序 ,抽獎規則代碼 分時間段