可变参数的应用

package example6;

public class canShu {
    /*
     * 可变参数 应用场景:实现两个数的相加,三个数的相加,四个数的相加。 如果实现的方法逻辑相同,唯一变化的是传入参数的个数,这时可以使用可变参数
     */
    public static void main(String[] args) {
        add(10, 20);
        add(10, 30, 50);
        add(2, 5, 3, 5);
    }

    public static void add(int... nums) {
        // nums在此理解为一个数组,用于存储传递过来的参数,在这里nums与我发的第一篇随笔中javascript模拟方法重载中的arguments数组类似。
        // System.out.println(nums.length);
        int sum = 0;
        // 遍历数组
        for (int i = 0; i < nums.length; i++) {
            sum += nums[i];
        }
        System.out.println(sum);
    }
    // 注意的地方:可变参数需要写在方法的参数列表中,不能单独定义
    // 在方法的参数列表中只能有一个可变参数
    // 方法的参数列表中的可变参数,必须放在参数最后。
    // public static void add(int a,int... nums) { 正确写法
    // public static void add(int... nums,int a) { 错误写法
    /*
      private static void add4(int a, int b, int c, int d) {

  int sum = a + b + c + d;

  System.out.println(sum);
      }
   
   private static void add3(int a, int b, int c) {

   int sum = a + b + c;
  System.out.println(sum);
     }
     private static void add2(int a, int b) {

  int sum = a + b;
     System.out.println(sum);
     }
     */
}

运行结果:

30
90
15

猜你喜欢

转载自www.cnblogs.com/aasu/p/9191822.html