Java可变参数讲解
如果实现的多个方法,这些方法里面逻辑基本相同,唯一不同的是传递的参数的个数,可以使用可变参数
可变参数的定义方法 数据类型...数组的名称,这个数组存储传递过来的参数,类似JavaScript
注意点:
(1)可变参数需要写在方法的参数列表中,不能单独定义
(2)在方法的参数列表中只能有一个可变参数
(3)方法的参数列表中的可变参数,必须放在参数最后
- score(String name, int...args)
case:
public class ChangeableArgs {
public static void main(String[] args) {
score("小明",90,80,70,90);
score("小红",90,80,70,90,100,200,300);
System.out.println(add(90,80,70,90));
System.out.println(add(90,80,70,90,100,200,300));
}
private static void score(String name, int...args) {
int result=0;
for(int i=0;i<args.length;i++)
result+=args[i];
System.out.println(name+"考了"+result+"分!");
}
private static int add(int...args) {
int result=0;
for(int i=0;i<args.length;i++)
result+=args[i];
return result;
}
}
运行截图:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN8AAABlCAIAAABCyqFoAAAFNUlEQVR4nO2dzWGDIBSAWcpLpvHUUTxnhN5zzxgukCXcwB7SKD8PxErg1XzfpVEQUb88UEMx82GmaZqm6fv7e3phf57GoTOmv00B49C91t9649INo5PhN1M3jPHPa3Y7dRy65fOzLk+eObfqYJfkFewfinSMsfw7aijljNVKPo1bB+4s3vrlr1RU5Bq4pUVP2rNQ+YxY+7aW326nc3LsvbtmCHUuauc4dMuJWXNu1WHDTvG4EtuL69M13GlnuLfNA3cWLTuFigfOiqVlnTS5dN+PKnY6FXvVwD6kW29d4VsvnsFjdnrfdOG0inWwV9rX+bkUDQPuEVvZbn3gV7qGYpSN1Uo6hPiBu0UsuwsP3CrK8WdZDq+UVL1xGIRL7xTnfWHq2unyG3leVffantIt+7qDru+XgrfqYMeLbhhiLXUSO+IIgTpdw0gfwMrr1CpyGoNix6Ezfd/7eW1DpE6G59RrTWBbpHq3cIduaeuOjDH9raWdUIZo71YH2dXz+53ThJ3/kXHo7GinTc4/Vm8Jmcsa7PyfWM2uMjWnaSpWPewEvWAn6OW9dn4DHOC9dh4vHD4Z7AS9YCfoBTtBL9gJemlgp5Fe7hsXcc1mIfk8rhe78K97VtI8z/P9a0m6XB+JWh2sIcyq7PQ+p690ItXEkQ/g/iWZJiXZi4/rJdhs085UNSDgn9m5w7m8/c7z/JTOj5FC0uN6cXR8XC/2djkBHjt3odrOzZa9hJqBdLEkL99vD2Bdg53FqWenHf+8D3Ok3+ltm2iy01ddTLL6l76bcpLVrN+/jDGX630NnrG9e+uxcxct7UyvFLMl1sTYzin1IIWkp53368W8lHw17YkvT3gg2JlPJTtjqqXtjMXF44HTI6txD5pycbP0lwp20djOOR4pE0Lvuuo5mfNui/x7e9Fp7CxIDTtFHb3FzQYxkflo7Mx+ouR0Abw79owjnfd/tT4cjffs4ZrQ15wyE0nWM3XjOZZImt1n9WG0xc6yaLEznWdzk4P9ziKkv2DwB6raudkKL9nyN0mkZu6uCLvqDJk0iJ0AmWAn6AU7QS/YCXrBTtALdoJesBP0outpfP4zwuNPE2NvfRi5oQeldhqXdCHhi6UYSx7n/bn0xlzKx8iN2iiyM+dNYNq5NGvOQMfH9ZLQk5EbrdBipx010zntpD/2BMKfvkV+QsfIjba0/G28J2J45fKb7PRVD5LcqPfr2WonIzeU0NLOWbp4icXMpLyczt3NPdbzZORGUxr/Nj7djicC0oHAKRDvdzJyoyWKRm6EnolXd2/4ycicGLjByI2WaBm5IVcuEk1Lxs6H1VKHMHKjKVru2Zek/F7pkaTEYHZGbuhBi53iZcu/kAf7nUU4Un8QUTpyY1fDHUvN3F0RvJBPjCwCvwIBvWAn6AU7QS/YCXrBTtALdoJesBP0UsnON81xAeemRewsN8cFnJsmLXuZOS7g9DSws9QcF3B66tlZdo4L+ARatOyH57iAD6HNE6WCc1zAiWljZ8E5LuDEqH6itDlSAs5NJTvfNMcFnBveZIJesBP0gp2gF+wEvWAn6AU7QS/YCXrBTtALdoJemvyCjpEbkEXFN5lvmOMCzk0VO98zxwWcnmp2lp/jAk5PnZa9/BwX8AlUuysqOccFfAjtRm4UmuMCToy28eyM3ICV6nYWneMCzk39/6NUco4LODe8yQS9YCfoBTtBL9gJesFO0At2gl6wE/SCnaAX7AS9YCfoBTtBL9gJesFO0At2gl6wE/SCnaAX7AS9YCfoBTtBLz9PzHBqDbKrVgAAAABJRU5ErkJggg==" alt="" />
Java可变参数讲解的更多相关文章
- java 可变参数讲解
java5中新增了可变参数,这个可变参数和C语言中的用法是差不多,但实现起来却不一样. 下面我们一起来看看吧. 其实可变参数就是一个数组 class A{ public void func(int.. ...
- Java可变参数 & Python可变参数 & Scala可变参数
Java 可变参数的特点: (1).只能出现在参数列表的最后: (2)....位于变量类型和变量名之间,前后有无空格都可以: (3).调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体 ...
- Java可变参数/可变长参数
Java可变参数/可变长参数 传递的参数不确定长度,是变长的参数,例如小例子: package demo; public class Demo { public static int sum(int ...
- java可变参数
Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理.注意:可变参数必须位于最后一项.当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持 ...
- Java 可变参数列表
1.可变参数列表的简单实现 当调用方法时,方法的参数个数或类型未知时,称其为可变参数列表.在以前的Java代码中,可以使用Object数组来实现这样的功能.因为,所有的类都是直接或间接继承于Objec ...
- Java 可变参数
java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理.注意:可变参数必须位于最后一项.当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持 ...
- Java可变参数以及一个简单应用
可变参数: Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理. 注意:可变参数必须位于最后一项. 原因:当可变参数个数多余一个时,必将有一个不 ...
- java可变参数长度
一: 在python中 有可变参数*args和万能参数**args参数分别为列表和字典.在java中也有类似的可变参数列表.不过传递进去的是可变参数数组. package com.company; p ...
- 坑爹的 Java 可变参数,把我整得够惨。。
最近在写一个功能点,用了 Java 中的可变参数,真是把我搞得够惨.. 什么是可变参数? 就是方法参数用 Object... args 三个点形式,一个参数可以接收多个参数. 实际的代码就不帖了,来看 ...
随机推荐
- redis 中文字符显示
2015年5月20日 09:57:01 星期三 方法一: redis-cli -h --raw 方法二: linux 终端: echo -e "\xe7\xa5\x9e\xe6\xa3\x8 ...
- cxGrid 速度
在做AdoHelper实用程序的时候,我用了DevExpress的cxGrid控件.在此之前用的是dbgrid,考虑到不能把所有的数据都拉到本地,我用了动态生成的select top 500的命令.这 ...
- 关于call 和 apply
权威指南上的说法是:可以将call 和apply看做是某个对象的方法,通过调用方法的形式 间接调用函数:需要重点说明是 :通过call和apply 调用的 函数:具体用法--->如下: 1.先说 ...
- IP子网划分
CIDR值: 1.掩码255.0.0.0:/8(A类地址默认掩码) 2.掩码255.128.0.0:/9 3.掩码255.192.0.0:/10 4.掩码255.224.0.0:/11 5.掩码255 ...
- android中判断网络连接是否可用
一.判断网络连接是否可用 public static boolean isNetworkAvailable(Context context) { ConnectivityManager cm = (C ...
- 【QT】C++ GUI Qt4 学习笔记3
菜单界面的实现. 看书上第三章,好长,好多代码.我敲了半天,想看看效果,结果却显示不出来.仔细一看,发现spreadsheet的实现在第四章.郁闷.... 又到官网上下代码,结果居然不能运行.难道是因 ...
- struts2.0整合json
框架:struts2.0+hibernate2+spring 今天写代码时,需要用到json,我就直接加了两个jar包:json-lib-2.1-jdk15.jar,struts2-json-plug ...
- C# 泛型约束
一.泛型简介1.1泛型通过使用泛型,可以创建这样的类.接口和方法,它们以一种类型安全的工作方式操作各种数据.本质上,术语“泛型”指的是“参数化类型”(parameterized types).参数化类 ...
- springmvc上传List,
@RequestMapping("pay") public ModelAndView pay(String orderNo, TransactionDTO transaction, ...
- webservice 简单入门 (NLY)
1,创建webservice服务器端 搭建网站,创建webservice webservice.cs中的代码 namespace WebApplication1 { /// <summary&g ...