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 相关文章推荐
jQuery 页面载入进度条实现代码
Feb 08 Javascript
js 页面刷新location.reload和location.replace的区别小结
Dec 24 Javascript
jquery实现居中弹出层代码
Aug 25 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
Jul 09 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
Apr 29 Javascript
js 动态修改css文件用到了cssRule
Aug 20 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
Jul 06 Javascript
js内置对象处理_打印学生成绩单的简单实现
Sep 24 Javascript
protractor的安装与基本使用教程
Jul 07 Javascript
vue解决跨域路由冲突问题思路解析
Nov 03 Javascript
微信小程序如何刷新当前界面的实现方法
Jun 07 Javascript
JQuery基于FormData异步提交数据文件
Sep 01 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制作的意见反馈表源码
2007/03/11 PHP
如何利用PHP执行.SQL文件
2013/07/05 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
Javascript中的this绑定介绍
2011/09/22 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
2015/06/14 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
基于js实现的限制文本框只可以输入数字
2016/12/05 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
详谈js模块化规范
2017/07/07 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
详解Vue.js项目API、Router配置拆分实践
2018/03/16 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
小程序实现图片预览裁剪插件
2019/11/22 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
Python中文分词实现方法(安装pymmseg)
2016/06/14 Python
ansible作为python模块库使用的方法实例
2017/01/17 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
python多进程重复加载的解决方式
2019/12/13 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
佳能英国官方网站:Canon UK
2017/08/08 全球购物
环境科学专业研究生求职信
2013/10/02 职场文书
雾霾停课通知
2015/04/24 职场文书
Django中session进行权限管理的使用
2021/07/09 Python
Redis如何实现分布式锁
2021/08/23 Redis
千万级用户系统SQL调优实战分享
2022/03/03 MySQL
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL