Day19--可变参数
Day19--可变参数
从 JDK 1.5 开始,Java 支持传递同类型的可变参数给一个方法。
在方法声明中,在指定参数类型后加一个省略号(...)。
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
有时候,代码里面的方法重载有很多,看着很繁琐,这就需要我们引入可变参数
以下是 Java 方法定义:
1. `public void method(int i){}`
2. `public void method(int i,int i2){}`
3. `public void method(int i,double i2){}`
例子;设计方法,要输入多个i,不确定数目,并输出i
package com.liu.www.method;
public class Demo04 {
public static void main(String[] args) {
Demo04 demo04 = new Demo04();
demo04.test(1,2,3,4,5,6);
}
//例子;设计方法,要输入多个i,不确定数目,并输出i
public static 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]);
System.out.println(i[5]);
}
}
对这个例子的详细解释:
以下是对这段代码中`Demo04 demo04 = new Demo04(); demo04.test(1,2,3,4,5,6);`的解释:
1. `Demo04 demo04 = new Demo04();`:
- 这行代码创建了一个名为`demo04`的对象,类型为`Demo04`。通过使用`new`关键字调用类的构造方法,创建了这个类的一个实例。
2. `demo04.test(1,2,3,4,5,6);`:
- 这里调用了`demo04`对象的`test`方法,并传入了六个整数参数`1,2,3,4,5,6`。
- 在`test`方法中,使用可变参数`int... i`接收这些参数,然后分别打印出这些参数中特定位置的值。
总的来说,这段代码的作用是创建一个`Demo04`类的对象,然后调用该对象的`test`方法,并传入一组整数参数进行处理。
以下是一个示例方法:
在输入的值当中打印出最大的值
package com.liu.www.method;
public class Demo04 {
public static void main(String[] args) {
printMax(1,2,3,4,5);
printMax(new double[]{1,2,3});
}
public static void printMax(double... numbers) { //printMax:打印最大的值 不确定有多少个数
if (numbers.length == 0) {
System.out.println("No argument passed");
return;
}
double result = numbers[0];
// 排序
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > result) {
result = numbers[i];
}
}
System.out.println("The max value is " + result);
}
}