黑马程序员技术交流社区

标题: 可变参数 [打印本页]

作者: 冯瑞君老师    时间: 2011-12-16 10:26
标题: 可变参数
这个在什么情况下使用啊?
作者: 余松霖    时间: 2011-12-16 10:35
可变参数就是个数组.  当你不确定要传的参数的个数的时候使用!
这个只能在java1.5版本之后使用!
作者: 刘基军    时间: 2011-12-16 11:11
当遇到无法确定参数个数的时候,可以使用可变参数。
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.           System.out.println(add(100,200));
  6.           System.out.println(add(100,200,300));
  7.         }
  8.         public static int add(int... a)
  9.         {
  10.                 int num=0;
  11.           for(int i=0;i<a.length;i++)
  12.           {
  13.                   num=num+a[i];       
  14.           }
  15.           return num;
  16.         }
  17. }
复制代码

作者: 杨扬    时间: 2011-12-16 11:14
标题: //
本帖最后由 杨扬 于 2011-12-16 11:15 编辑

当你往方法里所传的参数未知的时候使用.
比如
你有一个写字的方法,你写一个的时候,参数是固定的如:printWrites(String  writes)
当然你想写2个的时候.可以通过重载的方法来解决 如:printWrites(String  writes,String writes1)

但是我想写的个数不确定的时候.就可以运用到可变参数来解决.如:printWrites(String ...writes)

例子如下:
  1. public class Test
  2. {
  3.         public static void main(String args[])
  4.         {
  5.                 printWrites("32","23","123","1324");//写入任意数字
  6.         }
  7.         public static void printWrites(String ...writes)
  8.         {
  9.                 for(String write : writes)//取出数字
  10.                         System.out.println(write);
  11.         }
  12. }
复制代码

作者: 郭繁森    时间: 2011-12-16 11:24
变量与常量相对应的,就是函数中要进行多次使用的数呀
作者: 许邦存    时间: 2011-12-16 12:19
不确定要传的参数个数时使用吧,像求几个数都和add时,里面的传的参数是不确定的,可以是3.4.5的和,也有可能想求的是3.4.5.6的和,这时就应该用可变参数。
作者: 李建锋    时间: 2011-12-16 12:31
在参数不确定的情况下使用,
见下面的例子:
public class add {
        public static void main(String[] args) {
                System.out.println(add(32,98));
                             System.out.println(add(12,15,8));
        }
        public static int  add(int...x) {
            int sum=0;
            for(int y:x)
            {
                sum+=y;
               
            }
            
            return sum;
            
        }

}

作者: 程传鹏    时间: 2011-12-16 12:39

在参数不确定的情况下使用
作者: 张帅    时间: 2011-12-16 22:31
不想多说,该说的上面的同学已经说的很清楚了,我想说的是,你没好好看视频,及做笔记
作者: 舒远    时间: 2011-12-17 10:33
可变参数的本质就是数组,定义的时候必须放在参数列表的最后,形如 int...name,中间用三个点将参数类型和参数名隔开。
在使用的时候因为不确定参数个数,而它本质上就是个数组,所以通常采用遍历数组的方式来使用。如果定义的时候定义成了可变参数的形式,其实跟定义成数组的形式是一回事。
作者: 黑马巩伟伟    时间: 2011-12-17 14:32
在变量不确定的情况下还要简单化代码的复杂程度的时候可以用到可变参数。
例如: public void test(int...a){},在使用这个方法时你需要几个参数就传几个
test(需要几个参数传几个),而不再使用test(new int[]{参数})这样复杂的方法
调用了。




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