一、何为可变参数,为什么需要可变参数
问题:一个方法接受的参数个数不固定,例如:
System.out.println(countScore(2,3,5));System.out.println(countScore(1,2,3,5));
二、可变参数举例可变参数的特点:只能出现在参数列表的最后;这个要记住...位于变量类型和变量名之间,前后有无空格都可以;调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
可变参数是将具有相同类型的参数,隐含的变成一个数组,所以在程序内部处理时,可以对数组元素进行遍历,取得各个参数的值,再进行操作,这种方式可以避免,因为参数类型相同,而参数个数不同带来的函数重载的多次编写问题,提供效率。
package com.niechi.enhance.day01;public class MutiVariable {
public static void main(String[] args) {
System.out.println(sum(1,2,3,4));
}public static int sum(int i, int... m){ //这里在定义参数名称时,没有做到见名知意,有点失败
int sum=i;
for(int j=0;j<m.length;j++){ //这里一开始将可变参数定义为 int...j了,所以这里就出错了
sum+=m[j];
}
return sum;}
}
三、总结
1、写这个程序出现的第一个小错误是对接收进来的int数据的命名问题,使用了与for循环相同的名字
2、定义参数名称时,没有找到合适的名称
3、因为自定义函数要被主函数调用,所以必须在函数前面加上访问修饰符static
269

被折叠的 条评论
为什么被折叠?



