黑马程序员技术交流社区

标题: 动态参数 [打印本页]

作者: 张敬培    时间: 2013-2-2 00:13
标题: 动态参数
java1.5的新特性之一动态参数,动态参数传递的都是同一类型的参数,放到参数的最后面。但是一般什么时候使用动态参数呀?

作者: 杨杨    时间: 2013-2-2 09:32
不确定有几个参数的时候用
作者: 铿锵科技    时间: 2013-2-2 09:59
java可变参数就是一个定义一个参数数组。这个数组与普通的数组定义时有所区别,在定义时是在函数的参数中用三点(...)后加数组名称。
例如:累加所有参数的和
public static int add(int...args){
int sum=0;
for(int i=0;i<args.length;i++){
sum+=args[i];
}
return sum;
}
还可以在参数数组前定义很多的固定格式的参数:
例如:第一个参数是字符串,第二个参数为单精度实娄,第三个为可变参数:字符数组
static void printArgs(String s,float f,char...args){
System.out.println("第一个参数"+s+"第二个参数"+f);
System.out.print("参数数组列表");
for(int i=0;i<args.length;i++){
System.out.print(args[i]+" ");
}
}
要点:可变参是必须定义在函数的最后一个参数,不能定义了可以参数后面还有其他固定格式的参数。
例如:demo(String s,int...args,char c) 是错误的
正确方法为:demo(String s,char c,int...args)
在使用可变参数的函数时,可变参数是不用输入也能调用函数的,而固定格式的参数必须输入才能调用函数。
例如:调用上面的函数 add();是正确的。
printArgs();是错误的。
最少输入前面个个固定参数才能调用函数printArgs,
正确调用:printArgs("pi=",3.14159265f,'a','b','c');
    printArgs("pi=",3.14159265f);




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