Java记录 -78- 可变参数

可变参数(Varargs)

可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必须是方法声明的最后一个参数。

可变参数本质上就是一个数组,对于某个声明了可变参数来说,我们既可以传递离散的值,也可以传递数组对象。但如果我们将方法中的参数定义为数组,那么只能传递数组对象而不能传递离散的值。

可变参数必须要作为方法参数的最后一个参数,即一个方法不可能具有两个或两个以上的可变参数。

public class VarargsTest {

    public static int sum(int... nums){
        int sum = 0;
        for(int num : nums){
            sum += num;
        }
        return sum;
    }
    public static void main(String[] args){
        int ret = sum(1,2,4,7);
        System.out.println(ret);
        
        ret = sum(1,7);
        System.out.println(ret);
        
        ret = sum(new int[]{1,7}); //int... 等价于int[]
        System.out.println(ret);
    }
}
时间: 2024-10-18 03:20:08

Java记录 -78- 可变参数的相关文章

Java方法的可变参数个数

什么是可变参数 可变参数,具体来说是, 1.传递参数的时候可以传递0个.1个.2个--n个. 2.也可以传递一个数组. 3.可变参数,必须是方法的最后一个参数. 示例 //业务逻辑类 /** * 根据 Workplandetailid获取任务对象 * * @param detailId * @return */ public Taskinfo findByWorkplandetailid(String detailId) throws Exception { StringBuffer strbu

Java中的可变参数以及foreach语句

Java中的可变参数的定义格式如下: 返回值类型  方法名称(类型 ... 参数名称){} foreach语句的格式如下: for ( 数据类型  变量名称 :数据名称){ ... } public class NewDemo01 { public static void main(String[] args) { // TODO Auto-generated method stub fun(); fun(1); fun(1,2,3,4); } public static void fun(in

JAVA基础_可变参数

自JAVA1.5以来,在JAVA中出现了可变参数一说,其针对的情况是对多个不确定的相同类型的元素进行同一类操作的情形. 可变参数有点类似与重载的概念,但是其中的可变参数是被隐式的转换成数组来进行处理的. 例如:对多个数进行求和,但是不知道具体有多少个这样的数. 使用条件: 可变参数必须是函数的最后一个变量,即在参数列表的最后 可变参数用 - 表示 调用可变参数的方法时,编译器会为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数 /** * 多个参数求和 * @author Admi

java 16 - 13 可变参数和Arrays工具类的asList()方法

可变参数:定义方法的时候不知道该定义多少个参数 格式: 修饰符 返回值类型 方法名(数据类型… 变量名){ } 注意: 这里的变量其实是一个数组 如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个 1 import java.util.Scanner; 2 public class ArgsDemo { 3 4 public static void main(String[] args) { 5 int result = sum(1,2,3,4,5,6,7,8,9);//参与计

Java基础:可变参数(Varagrs)的使用注意事项

因为在先前学习java的过程中,有涉及到可变参数,但没有太深入的去学习.所以最近自己找了些相关资料,想加深了解.下面就是学习整理后的内容了. 在JDK1.5后,定义方法时,可以使用同类型个数不确定的参数. 使用可变参数定义方法时,方法实际上是把这些不确定数目的参数隐式地都装进一个数组中, 然后方法再从这个数组中取出元素来使用. 也就是说,方法使用可变参数,和JDK1.4中方法使用数组参数时的处理方式是一样的,都是取出数组元素来使用. 一.定义方法: 返回值 方法名(参数类型...可变参数名) 1

Java中的可变参数

Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理. 特点: 1.只能出现在参数列表最后: 2.省略号(...)位于变量类型和变量名之间,前后有无空格都可以 3.调用可变参数的方法时,编译器为该可变参数隐含创建一个数组, 在方法体中以数组的形式访问可变参数 程序举例说明: public class Test { //求传入参数的和的方法 public void add(int x,int...arr)//可变参数 { int sum=x;/

【Java基础】可变参数

下面是一个简单的小程序: 1 import java.util.Arrays; 2 3 class lesson6 4 { 5 public static void main(String[] args) 6 { 7 int array[]={2,3,1,5,4,6}; 8 System.out.println(Arrays.toString(array)); 9 System.out.println(getSum(array)); 10 //System.out.println(getSum(

Java新特性--可变参数

可变参数: 1.在传递参数时就可以不受参数个数的限制,全部将参数以数组的形式保存下来. 2.可变参数的定义格式:返回值类型  方法名称(类型...参数名称){},注意:...位于变量类型和变量名之间 3.可参变数的定义必须放在参数列表的后面. 为什么可变参数的定义必须放在参数列表的后面呢? 在没有可变参数这一特性之前,Java是将接受到的参数类型传递给一个数组,用数组的形式,在方法中进行遍历,需要几个元素就添加几个元素(public static void fun(int a[]){}).后来有

JAVA基础补漏--可变参数

使用场景:当参数列表数据类型已确定,但参数的个数不确定,就可以用可变参数 格式: 修饰符 返回值类型 方法名(数据类型...变量名){} 原理:可变参数底层为一数组,可根据变量个数的不同,创建不同长度的数组,来存储这些参数.参数个数 >=0 public class demo1 { public static void main(String[] args) { int add = add(1, 2, 3, 444); System.out.println(add); } public stat

Java方法的可变参数

1 class Demo 2 { 3 public static int sum(int ... data) { //此处可以传递一个数组,也可以是多个参数 4 int sum = 0; 5 for (int i : data) 6 sum = sum + i; 7 return sum; 8 } 9 } 10 public class Variable { 11 public static void main(String[] args) { 12 System.out.println(Dem