(一)可变参数
- 可变参数存在的意义:
处理在方法中使用任意多个参数的问题。
当有多个同类型的参数的时候,我们最常见的是使用数组,但是数组长度固定,具有一定的限制,现在在JDK1.5之后,出现了一种新的特性:可变参数。可变参数的使用像数组一样,但是没有参数个数的限制。 - 可变参数的格式:
public [static] [final] 返回值 方法名称([参数类型 … 参数名称]){} - 可变参数中使用的…实际上就是一个数组结构。
- 可变参数的特点:
(1)可变参数会自动包装成数组,使用时当作数组使用
(2) 方法有多个参数时,可变参数需要放到参数列表最后
(3) 方法的可变参数,最多只有一个
(4) 可变参数不传值时,包装了一个空数组,不会出现空指针异常
举例1:
可变参数的使用
package www.fanfan.com;
public class TestArgs {
//计算任意个整数之和
//使用可变参数
public static int add(int...numbers){
int sum = 0;
for (int i = 0; i < numbers.length;i++){
sum = sum+numbers[i];
}
return sum;
}
//当有多个类型的参数的时候,可变参数要放在参数列表的最后
public static int add(String message,int...numbers){
return 0;
}
public static void main(String[] args) {
System.out.println(add(1,2,3,4,5));
//可变参数不传值时,包装了一个空数组,不会出现空指针异常
System.out.println(add());
}
}
(二)foreach循环
- foreach 是一种增强的for循环;
- foreach循环的使用格式
for(元素类型 临时变量:数组名[集合名]){…} - 无需使用索引来取数据;
举例2:
foreach的使用
package www.fanfan.com;
public class TestArgs {
//计算任意个整数之和
//使用可变参数和foreach
public static int add(int...numbers){
int sum = 0;
for (int i:numbers){
sum += i;
}
return sum;
}
public static void main(String[] args) {
System.out.println(add(1,2,3,4,5));
}
}