java什么是可变参数_Java之可变参数的简单介绍

本文介绍了Java中的可变参数,它允许方法接收数量可变的参数。使用格式为`修饰符 返回值类型 方法名(数据类型... 变量名)`。可变参数在内存中表现为数组,方便处理多个相同类型的数据。例如,通过可变参数实现了一个计算多个整数之和的方法。需要注意的是,一个方法只能有一个可变参数,并且必须位于参数列表末尾。文章还提醒了关于可变参数的一些使用注意事项。
摘要由CSDN通过智能技术生成

各位小伙伴们大家好,这次小编要介绍的是Java当中的可变参数,什么是可变参数呢?就是可以变化的参数呀。什么时候可以用可变参数呢?当方法的参数列表数据类型已经确定,但是参数个数不确定的时候,是可以使用可变参数的,接下来小编要讲的是使用格式。

使用格式:

修饰符 返回值类型 方法名(数据类型......变量名){}

4f4c71f054beb9a590cdc15a6fddf005.png

可变参数的原理:

可变参数底层是一个数组,根据传递参数的个数不同,会创建出不同长度的数组,来存储这些参数传递的参数个数,可以是0个(不传递)也可以是多个。

下面小编就用代码来介绍一下使用可变参数的优势。

代码一,定义一个方法,用来计算两个int类型的整数相加。

public class a {

public static void main(String[] args) {

int i= add(2,3);

System.out.println(i);

}

//定义一个方法,计算两个int类型的整数和

public static int add(int a,int b) {

return a+b;

}

}

b937eb45f088757efd53e769f0320aeb.png

那么问题来了,如果你要定义三个,四个,五个......n个整数先加呢?我们可以很好的利用可变参数来解决。

public class a {

public static void main(String[] args) {

int i= add(2,3,30,100,678,234);

System.out.println(i);//结果1047

}

50bdaebeb096490efb756be2e4fa5972.png

public static int add(int...arr){//可变参数

System.out.println(arr);//[I@15db9742 底层构造是一个数组,传递参数的个数不同,会创建出不同长度的数组,来存储这些参数传递的参数个数

/* add();就会创建一个长度为0的数组,new int[0]add(10);就会创建一个长度为1的数组,存储传递过来的参数new int[]{10},如果你要存储多个数据,其原理也是一样的,其实和数组差不多*/

System.out.println(arr.length);//数组长度6

int sum=0;

//遍历数组,获取数组中的元素

for(int i:arr) {

sum+=i;

}

return sum;

}

}

829948fcee15732f7899be34b6db9639.png

根据上面的代码可知,利用可变参数,我们不需要定义多个方法,只需要定义一个方法就可以进行多个相同数据类型求和的计算。

还有一个可变参数的终极写法,可以添加不同的数据类型:

public static void method(Object...obj){}

接下来小编要介绍的是一些注意事项

1.一个方法的参数列表,只能有一个可变参数

public static void method(int...a,String...b){},这种写法是错误的。参数列表里面只能有一个可变参数。

2.如果方法的参数有多个,那么可变参数必须写在参数列表的末尾

public static void method(,int...a,String b,double c,int d){}写法错误,可变参数只能写在末尾哦。

关于可变参数,小编就先说到这里,希望这篇文章可以帮到大家,也欢迎给位小伙伴不错和纠错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值