JAVA-可变参数

可变参数

  • 执行路口

    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
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只因为你温柔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值