Java可变参数的应用

实现同一个函数名,不同参数个数,实现的方法相同

法一:函数重载

java 复制代码
public class VaiParameter01 {
    public static void main(String[]args){
    Methods m= new Methods();
    System.out.println(m.sum(1,5,100));
    System.out.println(m.sum(1,5,100,55));
    }
}
class Methods{
    //计算2/3/4个数的和
    //可以使用方法重载
    public int sum(int n1,int n2,int n3){
        return n1+n2+n3;
    }
    public int sum(int n1,int n2,int n3,int 4){
        return n1+n2+n3+n4;
    }
   
}

法二:可变参数优化

Java中的可变参数(Variable Arguments)允许在方法中定义一个参数列表,使得该方法可以接受任意数量的相同类型的参数。在方法声明中使用三个点(...)来表示可变参数的占位符,并且该占位符可以接受任意数量的相同类型的参数。

eg1:

java 复制代码
public class VaiParameter01 {
    public static void main(String[]args){
    Methods m= new Methods();
    System.out.println(m.sum(1,5,100));

    }
}
class Methods{
    //使用可变参数优化
    //1.int... 接受的是可变参数,类型是int ,即可接收多个int(0-多)
    //2.使用可变参数时,可以当作数组来使用,把nums看作数组
    //3.遍历nums求和即可
    public int sum(int...nums){
        //System.out.println("接受的参数的个数="+nums.length);
        int res=0;
        for(int i=0;i<nums.length;i++){
            res+=nums[i];
        }
        return res;
    }
}

eg2:

复制代码
public class VarParametersExercise {
    public static void main(String[]args){
    Method methods= new Method();
    System.out.println( methods.showScore("xiaomin",90,45.56,32,12,45,75));
    }
}
class Method{
       public String showScore(String name,double...score){
        double totalscore=0;
        for(int i=0;i<score.length;i++){
            totalscore+=score[i];
        }
        return name+" score="+totalscore;
    }
}

注意事项:

1.可变参数可以时一个数组

2.可变参数可有0或多个

3.可变参数可以和普通类型一起放在形参列表,但是必须放在最后

4.一个形参列表最多只能出现一个可变参数

相关推荐
keyborad pianist2 分钟前
Web开发 Day1
开发语言·前端·css·vue.js·前端框架
坚持就完事了3 分钟前
Python的类型注解
开发语言·python
wjs202413 分钟前
HTML URL 编码
开发语言
wjs202418 分钟前
Lua 循环
开发语言
Evand J27 分钟前
matlab GUI制作界面的一些笔记(入门)
开发语言·笔记·matlab
我是大猴子28 分钟前
Java面经
java·开发语言
Never_Satisfied36 分钟前
在c#中,如何删除字符串中的第x个字符
开发语言·c#
_nirvana_w_38 分钟前
Qt项目链接库时遇到的坑:-l选项的正确用法
开发语言·c++·qt·qt框架·elawidgettools
froginwe1141 分钟前
数据访问对象模式(Data Access Object Pattern)
开发语言
我命由我1234542 分钟前
Visual Studio - Visual Studio 修改项目的字符集
c语言·开发语言·c++·ide·学习·visualstudio·visual studio