可变参数
- 在方法声明中,在指定参数类型后面家上一个省略号(…)。
- 在一个方法中只能指定一个可变参数,而且必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
代码示例一
package method;
public class Demo04 {
public static void main(String[] args) {
Demo04 demo04 = new Demo04();
demo04.test(1,2,3,5,56);
}
public void test(int... i){
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
System.out.println(i[4]);
}
}
运行结果展示
D:\apps\jdk8\bin\java.exe "-javaagent:E:\javanote\IntelliJ IDEA Community Edition 2021.1\lib\idea_rt.jar=53572:E:\javanote\IntelliJ IDEA Community Edition 2021.1\bin" -Dfile.encoding=UTF-8 -classpath D:\apps\jdk8\jre\lib\charsets.jar;D:\apps\jdk8\jre\lib\deploy.jar;D:\apps\jdk8\jre\lib\ext\access-bridge-64.jar;D:\apps\jdk8\jre\lib\ext\cldrdata.jar;D:\apps\jdk8\jre\lib\ext\dnsns.jar;D:\apps\jdk8\jre\lib\ext\jaccess.jar;D:\apps\jdk8\jre\lib\ext\jfxrt.jar;D:\apps\jdk8\jre\lib\ext\localedata.jar;D:\apps\jdk8\jre\lib\ext\nashorn.jar;D:\apps\jdk8\jre\lib\ext\sunec.jar;D:\apps\jdk8\jre\lib\ext\sunjce_provider.jar;D:\apps\jdk8\jre\lib\ext\sunmscapi.jar;D:\apps\jdk8\jre\lib\ext\sunpkcs11.jar;D:\apps\jdk8\jre\lib\ext\zipfs.jar;D:\apps\jdk8\jre\lib\javaws.jar;D:\apps\jdk8\jre\lib\jce.jar;D:\apps\jdk8\jre\lib\jfr.jar;D:\apps\jdk8\jre\lib\jfxswt.jar;D:\apps\jdk8\jre\lib\jsse.jar;D:\apps\jdk8\jre\lib\management-agent.jar;D:\apps\jdk8\jre\lib\plugin.jar;D:\apps\jdk8\jre\lib\resources.jar;D:\apps\jdk8\jre\lib\rt.jar;E:\javanote\out\production\Hello method.Demo02
最大的数是:56
Process finished with exit code 0
代码示例二
package method;
public class Demo02 {
public static void main(String[] args) {
bigger(23.2,56.3,89.7,56,100.5);
bigger(new double[]{90,2.3,8.4,4.9});
}
public static void bigger(double...numbers){
if (numbers.length==0){
System.out.println("no numbers");
return;
}
double a=numbers[0];
//排序
for (int i=1;i<numbers.length;i++){
if (a<numbers[i]){
a=numbers[i];
}
}
System.out.println("最大的数是:"+a);
}
}
运行结果展示
```bash
D:\apps\jdk8\bin\java.exe "-javaagent:E:\javanote\IntelliJ IDEA Community Edition 2021.1\lib\idea_rt.jar=53572:E:\javanote\IntelliJ IDEA Community Edition 2021.1\bin" -Dfile.encoding=UTF-8 -classpath D:\apps\jdk8\jre\lib\charsets.jar;D:\apps\jdk8\jre\lib\deploy.jar;D:\apps\jdk8\jre\lib\ext\access-bridge-64.jar;D:\apps\jdk8\jre\lib\ext\cldrdata.jar;D:\apps\jdk8\jre\lib\ext\dnsns.jar;D:\apps\jdk8\jre\lib\ext\jaccess.jar;D:\apps\jdk8\jre\lib\ext\jfxrt.jar;D:\apps\jdk8\jre\lib\ext\localedata.jar;D:\apps\jdk8\jre\lib\ext\nashorn.jar;D:\apps\jdk8\jre\lib\ext\sunec.jar;D:\apps\jdk8\jre\lib\ext\sunjce_provider.jar;D:\apps\jdk8\jre\lib\ext\sunmscapi.jar;D:\apps\jdk8\jre\lib\ext\sunpkcs11.jar;D:\apps\jdk8\jre\lib\ext\zipfs.jar;D:\apps\jdk8\jre\lib\javaws.jar;D:\apps\jdk8\jre\lib\jce.jar;D:\apps\jdk8\jre\lib\jfr.jar;D:\apps\jdk8\jre\lib\jfxswt.jar;D:\apps\jdk8\jre\lib\jsse.jar;D:\apps\jdk8\jre\lib\management-agent.jar;D:\apps\jdk8\jre\lib\plugin.jar;D:\apps\jdk8\jre\lib\resources.jar;D:\apps\jdk8\jre\lib\rt.jar;E:\javanote\out\production\Hello method.Demo02
最大的数是:100.5
最大的数是:90.0
Process finished with exit code 0