黑马程序员技术交流社区

标题: JAVA中的可变参数是什么 [打印本页]

作者: likonglin110    时间: 2016-6-2 22:14
标题: JAVA中的可变参数是什么
求大神详细的说明一下
作者: Aaron9527    时间: 2016-6-2 22:16
        可变参数               
  1.可变参数也是存在于编译期;
  2.可变参数可以是任何类型,格式:数据类型... 变量名;
  3.可变参数在方法内部,是被编译成"数组"的形式;
  4.可变参数可以跟"普通参数"共存,但"可变参数"必须位于"参数列表的末尾",
   也就意味着,在一个方法的形参列表中,只能有一个可变参数;即使不同数据类型也不可以.

作者: Aaron9527    时间: 2016-6-2 22:18
public class Demo {
        public static void main(String[] args) {
                //可变参数
                System.out.println(sum(43,43,25,3214,22,54,1,343,654,324,2135,436,3,532,15,476,35,3254,367,53,53,6,546,425,43));
                System.out.println(sum(10,20));//两个参数
                System.out.println(sum(10,20,30));//可变参数
                System.out.println(sum(10,20,30,40,50));//五个参数
               
                System.out.println(sum());//可变参数
               
               
               
        }
       
        //求两个数的累加和
        public static int sum(int a ,int b){
                return a + b;
        }
        //求五个数的累加和
        public static int sum(int a ,int b ,int c ,int d ,int e){
                return a + b + c + d + e;
        }
        //
        /*public static int sum(int[] arr){
                int sum = 0;
                for(int a : arr){
                        sum += a;
                }
                return sum;
        }*/
        //可变参数
        public static int sum(int ... arr){
                int sum = 0;
                for(int a : arr){
                        sum += a;
                }
                return sum;
        }
}
作者: Fireflies    时间: 2016-6-2 22:18
方法声明上(参数类型...参数名)
可以传0或者任意个参数
作者: abc123james    时间: 2016-6-2 22:45
谢谢楼上分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2