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 三个点形式,一个参数可以接收多个参数. 实际的代码就不帖了,来看 ...
随机推荐
- VS2010调试速度很慢
1.使用vs2010,感觉速度越来越慢.重新设置了vs2010的环境(在vs2010命令提示符下,执行devenv.exe /resetuserdata),居然解决了这个问题,速度跑的很好.网上有人说 ...
- Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值
Delphi Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值 cxGrid1DBTableView1.Controller.FocusedRowIndex 当前行号 cxGrid1DB ...
- static cross compile gtk-2.16.6+gtk-directfb+arm-linux (arm-linux-gcc-3.4.4+glib-2.3.5)
----------------------------------------------------------------------- In Ubuntu 10.4 Desktop and & ...
- Java for LeetCode 223 Rectangle Area
Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is defined b ...
- oracle触发器,一个表新增、修改的同时同步另一张表
oracle创建触发器,把本地新增.修改数据过程同步到另一个服务器上去. 如果是本地,加数据库名即可.如果是远程服务器,不是一台机器,做一个db_link操作即可. ----------------- ...
- php处理图片实现
<?php include("SimpleImage.php");//图片处理类在下面 $url="http://f3.v.veimg.cn/meadincms/1 ...
- SQLServer 批量插入数据的两种方法
SQLServer 批量插入数据的两种方法-发布:dxy 字体:[增加 减小] 类型:转载 在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Ins ...
- Linux Shell常用快捷键
ctrl+a[A]:将光标移到命令行开头 ctrl+e[E]:将光标移到命令行结尾 ctrl+c[C]:强制终止命令执行 ctrl+u[U]:删除/剪切光标之前的所有字符 ctrl+y[Y]:粘贴ct ...
- Hadoop CDH5 集群管理
Hadoop 是一个开源项目,所以很多公司在这个基础进行商业化,Cloudera 对 Hadoop做了相应的改变.Cloudera 公司的发行版,我们将该版本称为 CDH(Cloudera Distr ...
- Python 文件处理
文件夹: 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删 ...