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 相关文章推荐
JS BASE64编码 window.atob(), window.btoa()
Mar 09 Javascript
学习ExtJS accordion布局
Oct 08 Javascript
Javascript中的delete介绍
Sep 02 Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
Dec 05 Javascript
基于jQuery实现的无刷新表格分页实例
Feb 17 Javascript
javascript表单正则应用
Feb 04 Javascript
vue 使用ref 让父组件调用子组件的方法
Feb 08 Javascript
关于微信小程序登录的那些事
Jan 08 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
Jul 16 Javascript
JS快速实现简单计算器
Apr 08 Javascript
vue中配置scss全局变量的步骤
Dec 28 Vue.js
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
Apr 24 Vue.js
关于引入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+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
php分页思路以及在ZF中的使用
2012/05/30 PHP
探讨php中header的用法详解
2013/06/07 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
linux下php上传文件注意事项
2016/06/11 PHP
PHP时间处理类操作示例
2018/09/05 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
文本框文本自动补全效果示例分享
2014/01/19 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
JS使用对象的defineProperty进行变量监控操作示例
2019/02/02 Javascript
微信小程序—setTimeOut定时器的问题及解决
2019/07/26 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
2020/06/17 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
[03:43]TI9战队采访——PSG.LGD
2019/08/22 DOTA
Python Tkinter实现简易计算器功能
2018/01/30 Python
Python Web版语音合成实例详解
2019/07/16 Python
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
ABOUT YOU匈牙利:500个最受欢迎的时尚品牌
2019/07/19 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
EJB面试题
2015/07/28 面试题
启动一个线程是用run()还是start()
2016/12/25 面试题
大学新生军训方案
2014/05/03 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL