A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯瑞君老师 黑马粉丝团   /  2011-12-16 10:26  /  3414 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这个在什么情况下使用啊?

10 个回复

倒序浏览
可变参数就是个数组.  当你不确定要传的参数的个数的时候使用!
这个只能在java1.5版本之后使用!

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
当遇到无法确定参数个数的时候,可以使用可变参数。
  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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
杨扬 黑马帝 2011-12-16 11:14:07
板凳

//

本帖最后由 杨扬 于 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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
变量与常量相对应的,就是函数中要进行多次使用的数呀
回复 使用道具 举报
许邦存 来自手机 黑马帝 2011-12-16 12:19:49
地板
不确定要传的参数个数时使用吧,像求几个数都和add时,里面的传的参数是不确定的,可以是3.4.5的和,也有可能想求的是3.4.5.6的和,这时就应该用可变参数。

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
李建锋 黑马帝 2011-12-16 12:31:08
7#
在参数不确定的情况下使用,
见下面的例子:
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;
            
        }

}

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
程传鹏 黑马帝 2011-12-16 12:39:59
8#

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