可变参数:
1.在传递参数时就可以不受参数个数的限制,全部将参数以数组的形式保存下来。
2.可变参数的定义格式:返回值类型 方法名称(类型...参数名称){},注意:...位于变量类型和变量名之间
3.可参变数的定义必须放在参数列表的后面。
为什么可变参数的定义必须放在参数列表的后面呢?
在没有可变参数这一特性之前,Java是将接受到的参数类型传递给一个数组,用数组的形式,在方法中进行遍历,需要几个元素就添加几个元素(public static void fun(int a[]){})。后来有了参数变数,虽然形式改了,但是内部还是参数以数组的形式保存下来(public static void fun(int...a))。...之后的东西是数组,把参数传递到数组里保存下来,因此如果可变参数的定义没有放在参数列表的后面,参数就不是传递到数组内以数组的形式保存下来。
public class NewDemo02{
public static void main(String args[]){
System.out.print("不传递参数(fun()):") ;
fun() ;// 不传递参数
System.out.print("\n传递一个参数(fun(1)):") ;
fun(1) ;// 传递一个参数
System.out.print("\n传递五个参数(fun(1,2,3,4,5)):") ;
fun(1,2,3,4,5) ;
}
public static void fun(int ... arg){// 可变参数
for(int x:arg){// 使用foreach输出输出
System.out.print(x + "、") ;
}
}
};