可变参数
-
执行路口
package cn.xiaoge.day14.demo05; /* 可变参数: 是JDK1.5之后出现的新特性 使用前提: 当方法的参数列表数据类型已经确定, 但是参数的个数不确定, 就可以使用可变参数. 使用格式: 定义方法是使用 修饰符 返回值类型 方法名(数据类型...变量名) {} 可变参数的原理: 可变参数底层是一个数组, 根据传递参数个数不同, 会创建不同长度的数组, 来存储这些参数 传递的参数个数, 可以是0个(不传递), 1, 2...多个 */ public class Demo01VarArgs { public static void main(String[] args) { int sum = sum(1, 2, 3, 4, 5, 6, 7, 8, 9); System.out.println(sum); System.out.println("==========================="); method1(10, 20 , 30, 40 ,50, 60); System.out.println("==========================="); method2(10, 20 , 30, 40 ,50, 60); } /* 可变参数的注意事项: 1. 一个方法的参数列表, 只能有一个可变参数 2. 如果方法的参数有多个, 那么可变参数必须写在参数列表的末尾 */ public static void method1(int a, int b, int ... arr) { int sum = 0; for (int i: arr) { sum+=i; } System.out.println(sum + a + b); } // 可变参数的特殊(终极)写法 public static void method2(Object ... obj) { int sum = 0; for (Object i: obj) { sum += (Integer) i; } System.out.println(sum); } // public static void method2(int ... arr, String ... strArr) { // 错误写法 一个参数列表只能有一个可变参数 // } /* 定义计算(0-n)整数和的方法 已知: 计算整数的和, 数据类型已经确定int 但是参数的个数不确定, 不知道计算几个整数的和, 就可以使用可变参数 sum(); 就会创建一个长度为0的数组, new int[0] sum(1, 2, 3, 4, 5, 6, 7, 8, 9); 就会创建一个长度为9的数组, new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9} */ public static int sum(int ... arr) { // arr底层是一个数组 int sum = 0; for (int i = 0; i < arr.length; i++) { sum += arr[i]; } return sum; } /* 定义一个方法, 计算两个int类型整数的和 */ // public static int sum(int a, int b, int c) { // return a + b + c; // } /* 定义一个方法, 计算两个int类型整数的和 */ // public static int sum(int a, int b) { // return a + b; // } } // 运行结果 45 =========================== 210 =========================== 210