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 相关文章推荐
CSS JavaScript 实现菜单功能 改进版
Dec 09 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
Jun 27 Javascript
eclipse如何忽略js文件报错(附图)
Oct 30 Javascript
jQuery对html元素取值与赋值的方法
Nov 20 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
Nov 25 Javascript
关于js二维数组和多维数组的定义声明(详解)
Oct 02 Javascript
简单实现jquery焦点图
Dec 12 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
Feb 21 Javascript
走进javascript——不起眼的基础,值和分号
Feb 24 Javascript
Vue数据双向绑定的深入探究
Nov 27 Javascript
JS实现压缩上传图片base64长度功能
Dec 03 Javascript
基于javascript实现放大镜特效
Dec 03 Javascript
关于引入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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
php Session存储到Redis的方法
2013/11/04 PHP
PHP asXML()函数讲解
2019/02/03 PHP
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
浅析javascript操作 cookie对象
2014/12/26 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
jQuery实现自动输入email、时间和域名的方法
2016/08/24 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
[01:07:53]RNG vs VG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
用Python的urllib库提交WEB表单
2009/02/24 Python
Python实现的堆排序算法示例
2018/04/29 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
Python 转换文本编码实现解析
2019/08/27 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
美国鲍勃商店:Bob’s Stores
2018/07/22 全球购物
党员理论学习心得体会
2016/01/21 职场文书
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB
MySQL修炼之联结与集合浅析
2021/10/05 MySQL