从零开始学JAVA之可变参数
下面是一个简单的小程序:
import java.util.Arrays;
class lesson6
{
public static void main(String[] args)
{
int array[]={2,3,1,5,4,6};
System.out.println(Arrays.toString(array));
System.out.println(getSum(array));
//System.out.println(getSum(2,3,1,5,4,6));
}
static int getSum(int array[])//计算元素之和
{
int sum=0;
for(int i=0;i<array.length;i++)
sum+=array[i];
return sum;
}
}
其中getSum(int array[])方法的声明就限定了它只能接受一维int类型的数组。如果我们现在试图运行第十行(被注释的那行),这样肯定会出错。这种方法的声明方式特别在不知道要传入参数个数时候,缺点比较明显。
从Java5开始,出现了可变参数。特征为:参数个数可变,可以传递0到N个;必须为方法最后一个参数;调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。
我们将上面代码的注释取消,并将getSum(int array[])改为getSum(int ... array)来实现我们想要的结果。获得结果如下:
由下方的两次输出21可得,getSum(int ... array)成功的接受了2种不同的数据个数的传入。
另外在实际编程中需要特别注意的一点,可变参数必须为方法最后一个参数。大家可以对上面代码进行简单改动进行试验。
相关推荐
-
Java中支持可变参数详解
意思就是:参数的个数可以根据需要写,你可以写1个.2个.3个....他们都被保存到一个参数的数组中. 但是这些参有一些约束:他们必须是同类型的,比如都是String字符串类型. 同时,可变参数的函数中的参数的写法也有约束:比如,可变参数的数组必须写在参数的最后,否则程序不知道你的参数到底有多少个. 例子:输出可变参数中的参数值 public class VariableArgument { public static void main(String[] args) { printArgumen
-
浅谈Java中的可变参数
可变参数 可变参数就是一个方法可以接收任意多个参数!例如:fun().fun(1).fun(1,1).fun(1,1,1).你可能认为这是方法重载,但这不是重载,你想想重载能重载多少个方法,而fun()方法是可以传递任何个数的参数,你能重载这么多个方法么? 2.1 定义可变参数方法 public voidfun(int- arr) {} 上面方法fun()的参数类型为int-,其中"-"不是省略号,而是定义参数类型的方式.参数arr就是可变参数类型.你可以把上面代码理解为:public
-
Java方法的可变参数类型实例分析
Java方法中的可变参数类型是一个非常重要的概念,有着非常广泛的应用.本文就以实例形式对此加以分析.具体如下: 一般来说,许多Java初学者在看到下面的这段代码的时候,都会问一个问题:dealArray方法里那三个小点点是什么啊? public class TestVarArgus { public static void dealArray(int... intArray){ } public static void main(String args[]){ } } 这就是本文所要讨论的问题:
-
java可变参数使用示例
Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理.注意:可变参数必须位于最后一项.当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数.因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项. 可变参数的特点: 1.只能出现在参数列表的最后: 2....位于变量类型和变量名之间,前后有无空格都可以: 3.调用可变参数的方法时,编译器
-
java中的可变参数使用方法
java中的可变参数使用方法 可变参数时Java 1.5新增的方法,可变参数方法接收0个或者多个指定类型的参数,可变参数机制通过先创建一个数组,数组的大小为在调用位置所传递的参数数量,然后将参数值传到数组中,最后将数组传递给方法.如: public class Test{ public int sum(int... args) { int sum = 0; for (int arg : args) { sum += arg; } return sum; } } 可变参数提供了方便,但是使用可变参
-
java 可变参数详解及实例
java 可变参数详解 可变参数(Varargs)使程序员可以声明一个接受可变数目参数的方法. 可变参数也是JDK5.0中出现的新特性. 可变参数本质上就是一个数组,对于某个声明了可变参数的方法来说,我们既可以传递离散的值,也可以传递数组对象. 但如果将方法中的参数定义为数组,那么只能传递数组对象而不能传递离散的值. 注意,可变参数必须是方法声明中的最后一个参数.一个方法不可能具有两个或两个以上的可变参数. 附上例子程序: public class TestVarargs { private s
-
Java可变参数列表详解
Java可变参数列表详解 1.接受的传入参数情况: 如public void test(String ...args){...} 1)不使用参数,如test() 2)使用一个或多个参数,如test("1"); test("1","2"); 3)使用数组 test(new String[]{"1","2"}); 2.方法内部访问参数: 在test方法内部,我们可以像使用数组的访问方式一样来访问参数args.如
-
从零开始学JAVA之可变参数
下面是一个简单的小程序: 复制代码 代码如下: import java.util.Arrays; class lesson6 { public static void main(String[] args) { int array[]={2,3,1,5,4,6}; System.out.println(Arrays.toString(array)); System.out.println(getSum(array));
-
Java 的可变参数方法详述
目录 一.可变参数方法的定义 二.可变参数方法的调用 三.可变参数方法的重载 四.Object可变参数 一.可变参数方法的定义 首先看下可变参数方法在代码上是如何定义的,如下所示: public static void method1(Integer id, String... names) { System.out.println("id:" + id + " names:" + names.length); } 通过上面的示例,我们可以看出在定义方法
-
Java Varargs 可变参数用法详解
Java1.5 提供了一个叫varargs的新功能,就是可变长度的参数. "Varargs"是 "variable number of arguments"的意思.有时候也被简单的称为 "variable arguments". 定义实参个数可变的方法:只要在一个形参的"类型"与"参数名"之间加上三个连续的"."(即"...",英文里的句中省略号),就可以让它和不确定
-
从零开始学Java之关系运算符
目录 引言 定义 实例 注意点 举例 总结 引言 ♀ 小AD:明哥,我怎么就那么讨厌刺客,凭什么我就打不过他们,每次把我秒了. ♂ 明世隐:这是因为英雄克制,刺客就是用来对方脆皮的. ♀ 小AD:所以这个叫克制关系? ♂ 明世隐:对,但是刺客却害怕战士型英雄. ♀ 小AD:战士相对被肉克制?肉被射手克制? ♂ 明世隐:差球不多!是一种克制关系,当然不是绝对的,如果段位相差过多,就当我没说.那你跟我什么关系? ♀ 小AD:师徒?大腿? ♂ 明世隐:总之无形之中是不是有一种关系的存在 ? ♀ 小AD
-
Kotlin传递可变长参数给Java可变参数实例代码
本文研究的主要是Kotlin传递可变长参数给Java可变参数的方法,具体实现代码如下. 定义Java可变参数方法 package com.tcl.john.studymvvm.utils; /** * 调用Java方法的工具类 * Created by ZhangJun on 2017/10/25. */ public class CallJavaUtils { public static int addNumbers(String name, int... args) { int result
-
java可变参数当做数组处理的方法示例
本文实例讲述了java可变参数当做数组处理的方法.分享给大家供大家参考,具体如下: java可变参数当做数组处理 ava1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理. 注意:可变参数必须位于最后一项. 原因:当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数.因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项. 可变参数的特点:
随机推荐
- 用表单来提交sql(转)3
- jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
- AJAX跨域请求之JSONP获取JSON数据
- 深入理解Spring中bean的生命周期介绍
- java中的Io(input与output)操作总结(四)
- iOS使用Charts框架绘制折线图
- Visual Studio 2017无法加载Visual Studio 2015创建的SharePoint解决方法
- 将Excel中数据导入到Access数据库中的方法
- delphi建立、读取、存贮INI文件的方法《三》
- javascript实现checkbox全选的代码
- linux awk时间计算脚本及awk命令详解
- 实现批量linux格式化硬盘和挂载硬盘脚本分享
- 基于C++浮点数(float、double)类型数据比较与转换的详解
- SqlServer 2000、2005分页存储过程整理第1/3页
- jquery 获取json数据实现代码
- jQuery插件uploadify实现ajax效果的图片上传
- jQuery基本过滤选择器用法示例
- JS实现环形进度条(从0到100%)效果
- 如何利用模板将HTML从JavaScript中抽离
- 基于一个简单定长内存池的实现方法详解