集合框架-可變引數

ZHOU_VIP發表於2017-04-23

5:可變引數(掌握)

(1)如果我們在寫方法的時候,引數個數不明確,就應該定義可變引數。

(2)格式:

    修飾符 返回值型別 方法名(資料型別... 變數) {}

    注意:

        A:該變數其實是一個陣列名

        B:如果一個方法有多個引數,並且有可變引數,可變引數必須在最後


package cn.itcast_03;

/*
 * 可變引數:定義方法的時候不知道該定義多少個引數
 * 格式:
 * 		修飾符 返回值型別 方法名(資料型別…  變數名){
 * 
 * 		}
 * 
 * 		注意:
 * 			這裡的變數其實是一個陣列
 * 			如果一個方法有可變引數,並且有多個引數,那麼,可變引數肯定是最後一個
 */				
public class ArgsDemo {
	public static void main(String[] args) {
		// 2個資料求和
		int a = 10;
		int b = 20;
		int result = sum(a, b);
		System.out.println("result:" + result);

		// 3個資料的求和
		int c = 30;
		result = sum(a, b, c);
		System.out.println("result:" + result);

		// 4個資料的求和
		int d = 30;
		result = sum(a, b, c, d);
		System.out.println("result:" + result);

		// 需求:我要寫一個求和的功能,到底是幾個資料求和呢,我不太清楚,但是我知道在呼叫的時候我肯定就知道了
		// 為了解決這個問題,Java就提供了一個東西:可變引數
		result = sum(a, b, c, d, 40);
		System.out.println("result:" + result);

		result = sum(a, b, c, d, 40, 50);
		System.out.println("result:" + result);
	}

	public static int sum(int... a) {

		int s = 0;
		
		for(int x : a){
			s += x;
		}
		
		return s;
	}
	
	/*
	public static int sum(int a, int b, int c, int d) {
		return a + b + c + d;
	}
	
	public static int sum(int a, int b, int c) {
		return a + b + c;
	}
	
	public static int sum(int a, int b) {
		return a + b;
	}
	*/
}



相關文章