Java中的可变参数使用语法及用途

简介: Java中的可变参数使用语法及用途

`

一、什么时候使用可变参数?

        如果方法中参数类型确定,但是"参数个数不确定"(需要很多方法重载) 时,可以使用可变参数

二、可变参数的格式

          格式: 
                   修饰符 返回值类型 方法名(参数类型 ... 形参名) {

                   }

          范例:
                   public static void sum(int… a) {

                     }

代码演示

public class Test {
    public static void main(String[] args) {

        System.out.println(sum());
        System.out.println(sum(1));
        System.out.println(sum(2,5));
        System.out.println(sum(1,2,3,4,5));


    }
    
 //    public  static  int sum(int a,int b){
//
//        return  a+b;
//    }
//
//
//    public  static   int sum(int a,int b ,int c){
//
//        return a+b+c;
//    }

    
    //当参数个数不确定时,可以把参数设计为可变参数
    // int ... a 参数的数据是int , 参数的个数是任意的
    //可变参数实际是数组, int... a,底层会转为 int[] a
    
    public  static   int sum(int... a){

        int sum=0;
        for (int i = 0; i < a.length; i++) {
            sum+=a[i];
        }
        return  sum;

    }
    
}

在这里插入图片描述


三、可变参数的注意事项

       * 可变参数"本质是数组"
     
       * 一个方法"只能有一个可变参数"
     
       * 如果方法中有多个参数,"可变参数要放到最后"

案例1(多个可变参数)

public class Test2 {
    public static void main(String[] args) {


    }


    public  static  void sum(int ... a,double ...b){

    }   //报错
}    

在这里插入图片描述


案例2(可变参数不在末尾)

public class Test2 {
    public static void main(String[] args) {


    }


    public  static  void sum(int ... a,int b){

    }    //报错

}

在这里插入图片描述


作者:KJ.JK

本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

目录
相关文章
|
1月前
|
Java 开发者
Java面试题:请解释内存泄漏的原因,并说明如何使用Thread类和ExecutorService实现多线程编程,请解释CountDownLatch和CyclicBarrier在并发编程中的用途和区别
Java面试题:请解释内存泄漏的原因,并说明如何使用Thread类和ExecutorService实现多线程编程,请解释CountDownLatch和CyclicBarrier在并发编程中的用途和区别
25 0
|
1月前
|
Java 程序员
深入理解Java匿名内部类的语法和使用场景
深入理解Java匿名内部类的语法和使用场景
|
5天前
|
缓存 前端开发 Java
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
【8月更文挑战第10天】java基础巩固,工具类的封装
11 1
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
|
7天前
|
存储 前端开发 JavaScript
【前端学JAVA】有手就会!10min快速入门java的基础语法(2)
【8月更文挑战第8天】10min快速入门java的基础语法
19 2
【前端学JAVA】有手就会!10min快速入门java的基础语法(2)
|
11天前
|
安全 Java 编译器
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
36 18
|
11天前
|
Java
Java 基础语法-面试题(54-63道)(数组+类+包)
Java 基础语法-面试题(54-63道)(数组+类+包)
29 16
|
11天前
|
存储 Java 编译器
Java 基础语法-方法
Java 基础语法-方法
26 12
|
7天前
|
Java API
Java语法Java语法
【8月更文挑战第12天】Java语法
19 3
|
11天前
|
Java 关系型数据库 程序员
11 Java接口(语法、规范、微观&宏观接口)
11 Java接口(语法、规范、微观&宏观接口)
31 6
|
11天前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(下)
02 Java基础语法(变量+数据类型+运算符)
16 5