JAVA--可变长参数
可变长参数:
可变长参数可以接受任意个数的实参,形参实际上是一个数组。
语法形式:
方法名称(类型 参数1,类型 参数2,类型...可变长参数)
*可变长参数一定是方法的最后一个参数
public void summ(double...num,String test){//可变长参数必须放在最后
System.out.println("=====");
}

在可变长参数的方法中,可以将可变长参数当成数组使用。可变长参数基本实例:
package test01;
public class ChangeB {
/**
* @param Change
*/
public double summ(double...num){
double summ=0;
for(int i = 0;i < num.length; i++){
summ += num[i];
}
return summ;
}
public static void main(String[] args) {
ChangeB ch = new ChangeB();
double total = ch.summ(1,2,3);
System.out.println("bianchang:"+total);
}
}
可变长参数方法的调用,改变上述调用方法:
ChangeB ch = new ChangeB();//实例化
System.out.println("不传参数调用:"+ch.summ());
System.out.println("传入一个参数的调用:"+ch.summ(6.6));//值为6.6
System.out.println("传入二个参数的调用:"+ch.summ(1.3,2.5));//值为3.8
System.out.println("传入三个参数的调用:"+ch.summ(1.1,2.2,3.4));//值为6.7
在使用可变长参数方法是还需要注意几点:
在一个类中同名方法一个为单参数,一个为可变长参数时,如果实参只传入一个参数时匹配单参数和可变长参数2个方法,单实际上只选择单参数方法,举例说明:
package test01;
public class ChangeB {
/**
* @param Change
*/
public double summ(double...num){//可变长参数方法
double summ=0;
for(int i = 0;i < num.length; i++){
summ += num[i];
}
System.out.println("可变长");//证明调用的是单参数还是可变长参数
return summ;
}
public double summ(double num){//单参数方法
double summ1=0;
summ1 = num;
System.out.println("单参数");//证明调用的是单参数还是可变长参数
return summ1;
}
public static void main(String[] args) {
ChangeB ch = new ChangeB();//实例化
System.out.println(ch.summ(9.8));
}
}
结果:
单参数
9.8
传入的实参,调用的方法不能跟2个方法匹配(可变长):
情况1:
public void summ(double...num){//可变长参数方法1
System.out.println("=====");
}
public void summ(double num1,double...num){//可变长参数方法2
System.out.println("=====");
}
public static void main(String[] args) {
ChangeB ch = new ChangeB();//实例化
ch.summ("sss");//编译错误处
}//
情况2:(这个就更是错的)
public void summ(double...num){//可变长参数方法1,错误
System.out.println("=====");
}
public void summ(double...num1){//可变长参数方法2,错误
System.out.println("=====");
}
public static void main(String[] args) {
ChangeB ch = new ChangeB();//实例化
ch.summ("sss");
}//
JAVA--可变长参数的更多相关文章
- Java 可变长参数列表
Java中定义了变长参数,允许在调用方法时传入不定长度的参数. 定义及调用 在定义方法时,在最后一个形参后加上三点 …,就表示该形参可以接受多个参数值,多个参数值被当成数组传入.上述定义有几个要点需要 ...
- Java可变长参数方法调用问题
不说废话,直接上代码: package mytest; import java.util.List; public class TestClass { public void method(List& ...
- Java可变参数/可变长参数
Java可变参数/可变长参数 传递的参数不确定长度,是变长的参数,例如小例子: package demo; public class Demo { public static int sum(int ...
- Java 数组 可变长参数 实例
可以把类型相同但个数可变的参数传递给方法,方法中的参数声明如下: typeName...parameterName (类型名...参数名) 在方法声明中,指定类型后紧跟着省略号...,只能给方法指定一 ...
- Java中可变长参数的使用及注意事项
在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print( ...
- Java中可变长参数的方法
原文转自:http://www.cnblogs.com/lanxuezaipiao/p/3190673.html 在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定 ...
- java中可变长参数
** * Created by Lenovo on 2017/12/10. * java中可变长参数 */ public class reflect04 { //m1有一个int类型的可比变长参数 / ...
- java中可变长参数的定义及使用方法
JAVA中可以为方法定义可变长参数( Varargs)来匹配不确定数量的多个参数,其定义用“...”表示.其实,这类似于为方法传了一个数组,且在使用方法上也和数组相同,如下: public void ...
- Java中的可变长参数
可变长参数的定义 与一般方法没多大差别,只不过形参多了...(三个点) 方法名(数据类型 ... 变量名){} 小案例: public class ParamDemo { public static ...
- 0521Day03命名规范 Data函数 可变长参数 枚举类型
[重点] 命名规范 枚举类型 Date函数 可变长参数 pirnt,println 命名规范 1. 驼峰命名法:main,username,setUsername 用于变量.方法的命名 2. Pasc ...
随机推荐
- Codeforces#355
大小号刷题,大号,被查重,悲剧,最后小号过了3题 A题: 分析:大于h的+2,小于等于h的+1 #include <iostream> #include <cstdio> #i ...
- iOS开发——刮奖
还是直接上代码,有什么问题的话,直接评论. 1.在YYTScratchView.h文件中 // // YYTScratchView.h // Demo-刮奖 // // Created by y ...
- STM32F103外部中断编程
STM32F103外部中断编程 中断,顾名思义就是停下手头的活,去干另外一件急活,干完急活然后回来继续干手头的活. 单片机和人一样,有时候也有更急的程序需要执行,执行完之后再回来执行之前正在执行的 ...
- 【转】PHP生成随机密码的几种方法
使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码.随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法 ...
- Led控件
在 WindowMobile 上的模拟LED 显示屏插件 一个简单Led控件 一个经典的控制Led的单片机程序 Led控件(2)——Led显示屏模拟
- 单纯觉得是篇好文——跨终端Web之Hybrid App
[reference]http://www.infoq.com/cn/articles/hybrid-app#theCommentsSection 编者按:InfoQ开设新栏目“品味书香”,精选技术书 ...
- 在Eclipse中配置tomcat
为了在Eclipse中进行struts2的测试,才发现自己机器上的Eclipse没有集成Tomcat,在网上找了半天,不是这个插件没有下载地址,就是那个有好多注意事项或者版本问题. 结果,自己到tom ...
- Asp.NET开启一个线程,不停的执行
using System;using System.Threading;using System.Threading.Tasks; class StartNewDemo{ static void ...
- 如何在Eclipse下安装myeclipse插件
来自http://www.blogjava.net/show911/archive/2008/04/27/86284.html 下载myeclipse插件 支持eclipse3.1.x, 具体安装步骤 ...
- Python3基础 闭包 简单示例
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...