黑马程序员_16可变参数

来源:互联网 发布:数据库与管理信息系统 编辑:程序博客网 时间:2024/05/29 11:50
------- android培训ios培训、期待与您交流! ----------
一、何为可变参数,为什么需要可变参数
问题:一个方法接受的参数个数不固定,例如:
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

0 0
原创粉丝点击