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 相关文章推荐
阻止子元素继承父元素事件具体思路及实现
May 02 Javascript
js动态添加事件并可传参数示例代码
Oct 21 Javascript
js形成页面的一种遮罩效果实例代码
Jan 04 Javascript
vue-resourse将json数据输出实例
Mar 08 Javascript
jQuery实现选中行变色效果(实例讲解)
Jul 06 jQuery
JS获取当前地理位置的方法
Oct 25 Javascript
JS中获取 DOM 元素的绝对位置实例详解
Apr 23 Javascript
jQuery实现获取选中复选框的值实例详解
Jun 28 jQuery
浅谈webpack SplitChunksPlugin实用指南
Sep 17 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 Javascript
微信小程序(订阅消息)功能
Oct 25 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
Jul 21 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
php生成图片验证码的方法
2016/04/15 PHP
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
用js实现in_array的方法
2013/11/05 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
javaScript中封装的各种写法示例(推荐)
2017/07/03 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
使用vue构建多页面应用的示例
2020/10/22 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
python自动翻译实现方法
2016/05/28 Python
python flask实现分页效果
2017/06/27 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
Django组件content-type使用方法详解
2019/07/19 Python
python安装scipy的步骤解析
2019/09/28 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
《少年王冕》教学反思
2014/04/11 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
个人党性分析材料
2014/12/19 职场文书
公务员政审个人总结
2015/02/12 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
家庭贫困证明
2015/06/16 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle
浅谈MySQL之select优化方案
2021/08/07 MySQL
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技