Java 中可变参数
可变参数 Java 中可变参数
现在需要编写一个求和的功能,但是不知道有几个参数,在调用的时候才知道有几个参数,请问这如何实现呢?
Java 给我们提供了一个 JDK 1.5 的新特性---可变参数
可变参数:定义方法的时候不知道方法的参数
格式:访问修饰符 返回值类型 方法名(参数类型... 参数名){}
注意:这里的变量其实是一个数组,如果一个方法有多个参数,还有可变参数,那么可变参数一定放在最后。
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
int result = sum(a, b);
System.out.println("result:" + result);
int c = 30;
result = sum(a, b, c);
System.out.println("result:" + result);
int d = 40;
result = sum(a, b, c, d);
System.out.println("result:" + result);
System.out.println("可变参数的方法:" + sum(10, 20, 30, 40, 50, 60, 70, 80, 90, 100));
System.out.println("可变参数的方法:" + sum(1, 1, 1, 1, 1, 1, 1, 1, 1, 1));
}
private static int sum(int a, int b) {
return a + b;
}
private static int sum(int a, int b, int c) {
return a + b + c;
}
private static int sum(int a, int b, int c, int d) {
return a + b + c + d;
}
private static int sum(int b, int... a) {
int s = 0;
for (int i : a) {
s += i;
}
return s + b;
}
}
运行结果
result:30
result:60
result:100
可变参数的方法:550
可变参数的方法:10
```
Java 中可变参数的更多相关文章
- 巩固java(六)----java中可变参数方法(非常实用哦)
java提供了可变参数的方法,即方法的参数个数可以不确定,用"..."定义. import java.util.ArrayList; import java.util.List; ...
- 18、Java中可变参数
从JDK 1.5之后,Java允许定义形参可变的参数 例如: public void test(int a,String ... books){ for(String book:books){ Sys ...
- Java中可变参数
从java5开始出现了可变参数,这是对java方法及数组的拓展! 方法中可以接受的参数不再是固定个数的,而是随着具体需求传递的多少来决定. 定义格式: 返回值类型 方法名(参数类型 ... 形式参数 ...
- 对Java中可变参数的理解
说明 可变参数:是DK1.5之后出现的新特性,其实可变参数是0.1.2.3.....个参数的数组 使用前提 当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数 使用格式 修饰符 ...
- java中可变长参数
** * Created by Lenovo on 2017/12/10. * java中可变长参数 */ public class reflect04 { //m1有一个int类型的可比变长参数 / ...
- 五分钟学Java:可变参数究竟是怎么一回事?
在逛 programcreek 的时候,我发现了一些专注基础但不容忽视的主题.比如说:Java 的可变参数究竟是怎么一回事?像这类灵魂拷问的主题,非常值得深入地研究一下. 我以前很不重视基础,觉得不就 ...
- c 中可变参数的实现
我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为: 例一: int printf( const char* format, ... ...
- C语言中可变参数的函数(三个点,“...”)
C语言中可变参数的函数(三个点,“...”) 本文主要介绍va_start和va_end的使用及原理. 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end ...
- [问题记录]Java关于可变参数重载问题的测试
突然发现java的可变参数重载是存在歧义的,只是不知道java内部是怎么处理的,特意做如下实验: 测试代码如下: /** * Created by ieayoio on 16-3-1. */ publ ...
随机推荐
- chrome 浏览器如何安装草料二维码
https://cli.im/news/6527 实测有效
- 隐藏超出父元素的子元素的部分:overflow
overflow : 针对超出父级的内容如何显示 值: visible 默认值,超出的内容会显示出来 auto 如果内容超出了父级,那就出现滚动条.如果内容没有超出,就没有滚动条 hidden 超出的 ...
- [LeetCode] 数学计算模拟类问题:加法,除法和幂,注意越界问题。题 剑指Offer,Pow(x, n) ,Divide Two Integers
引言 数学计算的模拟类题目,往往是要求实现某种计算(比如两数相除),实现的过程中会有所限定,比如不允许乘法等等. 这类题目首先要注意计算过程中本身的特殊情况.比如求相除,则必须首先反映过来除数不能为0 ...
- 1.ideal常用快捷键
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如ge ...
- linux系统df和du命令的区别
发现一台用户的电脑,df检查出来的/磁盘空间占用了16G,比用du查看得到的磁盘空间大的多,du查看/下所有程序目录加起来还不到5G.这是什么原因呢? 即便是有隐藏文件,查了也很小啊. 因为df和 ...
- 【BZOJ】3302: [Shoi2005]树的双中心 && 2103: Fire 消防站 && 2447: 消防站
[题意]给定带点权树,要求选择两个点x,y,满足所有点到这两个点中较近者的距离*点权的和最小.n<=50000,h<=100. [算法]树的重心 [题解]代码参考自:cgh_Andy 观察 ...
- NSPredicate--谓词(is)
技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong NSPredicate 技术博客http:// ...
- 【leetcode 简单】第四十题 求众数
给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入: [3,2,3] 输出: 3 ...
- vue--------脚手架vue-cli搭建
今天在看公司的项目的时候,用到的是Vue框架,哈哈,Vue已经火好久了,想必大家也晓得哈,这里宝宝就不瞎渣渣了~ 由于宝宝已经三个月木有看过代码了,所以对新公司的很多的架构和代码都是懵逼的,再加上宝宝 ...
- 1、编写第一个java程序--Hello—World
1.下载JDK8.0文件 下载网址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...