Java Varargs 可变参数用法详解


Posted in Javascript onJanuary 28, 2020

Java1.5 提供了一个叫varargs的新功能,就是可变长度的参数。

"Varargs"是 “variable number of arguments”的意思。有时候也被简单的称为 “variable arguments”。

定义实参个数可变的方法:只要在一个形参的"类型"与"参数名"之间加上三个连续的"."(即"...",英文里的句中省略号),就可以让它和不确定个实参相匹配。

以下实例创建了 sumvarargs() 方法来统计所有数字的值。

我们在这里的 Main 方法中添加了 new int[]{10, 12, 33, 7} 4 个参数,实际上你可以在这里持续添加不同的参数,在计算 sum 的方法中都可以根据你添加的参数来进行处理。

GIT

请参考 GitHub 上的源码代码:

https://github.com/cwiki-us/java-tutorial/blob/master/src/main/java/com/ossez/lang/tutorial/usecases/VarargsCase.java

SRC

package com.ossez.lang.tutorial.usecases;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * variable arguments use case
 */
public class VarargsCase {
  private static final Logger logger = LoggerFactory.getLogger(VarargsCase.class);

  /**
   * sumVarargs
   *
   * @param intArrays
   * @return
   */
  static int sumVarargs(int... intArrays) {
    int sum, i;
    sum = 0;
    for (i = 0; i < intArrays.length; i++) {
      sum += intArrays[i];
    }
    return (sum);
  }

  /**
   * Main Function
   *
   * @param args
   */
  public static void main(String args[]) {
    int sum = 0;
    sum = sumVarargs(new int[]{10, 12, 33, 7});
    logger.debug("The Sum of the arrays: {}", sum);
  }
}

OUTPUT

程序运行的输出结果为:

2020/01/27 14:33:52 DEBUG [com.ossez.lang.tutorial.usecases.VarargsCase] - The Sum of the arrays: 62

扩展学习

Java 实例 - Varargs 可变参数使用

ava1.5提供了一个叫varargs的新功能,就是可变长度的参数。

"Varargs"是"variable number of arguments"的意思。有时候也被简单的称为"variable arguments"

定义实参个数可变的方法:只要在一个形参的"类型"与"参数名"之间加上三个连续的"."(即"...",英文里的句中省略号),就可以让它和不确定个实参相匹配。

以下实例创建了 sumvarargs() 方法来统计所有数字的值:

Main.java 文件

public class Main {
  static int sumvarargs(int... intArrays){
    int sum, i;
    sum=0;
    for(i=0; i< intArrays.length; i++) {
      sum += intArrays[i];
    }
    return(sum);
  }
  public static void main(String args[]){
    int sum=0;
    sum = sumvarargs(new int[]{10,12,33});
    System.out.println("数字相加之和为: " + sum);
  }
}

以上代码运行输出结果为:

数字相加之和为: 55

以上就是本次介绍的全部相关知识点,如果大家有任何补充内容可以联系三水点靠木小编。

Javascript 相关文章推荐
DIV外区域Click后关闭DIV的实现代码
Dec 21 Javascript
js 利用image对象实现图片的预加载提高访问速度
Mar 29 Javascript
jquery选择符快速提取web表单数据示例
Mar 27 Javascript
js实现飞入星星特效代码
Oct 17 Javascript
如何在MVC应用程序中使用Jquery
Nov 17 Javascript
javascript顺序加载图片的方法
Jul 18 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
Apr 28 Javascript
原生JS简单实现ajax的方法示例
Nov 29 Javascript
JavaScript中匿名函数的递归调用
Jan 22 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
Oct 27 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
Nov 17 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 jQuery
关于引入vue.js 文件的知识点总结
Jan 28 #Javascript
JS简单表单验证功能完整示例
Jan 26 #Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
Jan 26 #Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
Jan 26 #Javascript
vue跳转方式(打开新页面)及传参操作示例
Jan 26 #Javascript
详解Vue的ref特性的使用
Jan 24 #Javascript
JavaScript对象原型链原理解析
Jan 22 #Javascript
You might like
那些年一起学习的PHP(二)
2012/03/21 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
ThinkPHP中create()方法自动验证实例
2017/04/26 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
html+css+js实现xp window界面及有关功能
2013/03/26 Javascript
js实现点小图看大图效果的思路及示例代码
2013/10/28 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
React-router v4 路由配置方法小结
2017/08/08 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
Python写的一个简单监控系统
2015/06/19 Python
理解python正则表达式
2016/01/15 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
美国Rue La La闪购网站:奢侈品、中高档品牌限时折扣
2016/10/19 全球购物
英国折扣零售连锁店:QD Stores
2018/12/08 全球购物
Python是如何进行类型转换的
2013/06/09 面试题
广告学专业自荐信范文
2014/02/24 职场文书
食品安全责任书
2014/04/15 职场文书
公司2014年度工作总结
2014/12/10 职场文书
预备党员个人总结
2015/02/14 职场文书
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android