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与memcache区别总结
2015年9月2日 14:04:19 总会被问到两者的区别, 在这里总结下: redis 有内置的多种数据结构, list(可用于实现小型队列), hash, set, zset...; memcac ...
- 21. javacript高级程序设计-Ajax与Comet
1. Ajax与Comet 1.1 XMLHttpRequest对象 IE5是第一款引入XHR对象的浏览器,IE5中是通过MSXML库中的一个ActiveX对象实现的.因此在IE中可能存在MSXML2 ...
- a byte of python(摘03)
a byte of python 第七章 模块 想要在其他程序中重用很多函数,那么你该如何编写程序呢? 答案是使用模块. 模块基本上就是一个包含了所有你定义的函数和变量的文件.为了在其他程序中重用模块 ...
- ASM:《X86汇编语言-从实模式到保护模式》第12章:存储器的保护
12章其实是11章的拓展,代码基本不变,就是在保护模式下展开讨论. ★PART1:存储器的保护机制 1. 修改段寄存器的保护 当执行把段选择子传到段寄存器的选择器部分的时候,处理器固件在完成传送之前, ...
- 监控Tomcat解决方案(监控应用服务器系列文章分享)
使用JMX接口开发监控程序 ◆ 全部代码需要从零开始,代码量较大 ◆ 支持各不同版本比较麻烦,每个版本可能有差异 ◆ 可支配性强 ◆ 最重要的一个缺点是,配置比较麻烦 Tomcat激活JMX远 ...
- 【leetcode】Validate Binary Search Tree(middle)
Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...
- window.parent 与 window.opener
window.parent针对iframe,window.opener针对window.open 父页面parent.jsp: <%@ page language="java" ...
- struts 拦截器 Interceptor
拦截器是AOP中的概念,它本身是一段代码,可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行,从而起到拦截的作用.正如上面 Struts2的Reference中讲述的,Stru ...
- MAC系统下,删除.svn文件
MAC系统下,.svn文件是隐藏的. 如果项目是非export导出的,那么项目中会有很多的.svn文件. 如果项目的体积非常庞大,我们如何快速的批量删除.svn文件呢?下面是操作方法: 打开终端,cd ...
- OSG快速生成一个带有纹理的四边形Geometry
可以使用Geometry头文件中的 Geometry* createTexturedQuadGeometry osg::ref_ptr<osg::Texture2D> texture = ...