可变参数
可变参数:指的是方法将来调用时,可以传入若干个指定类型的参数
注意:
1、一个方法定义中只能有一个可变参数
2、可变参数必须在参数列表中的最后一个定义
这是有限的值的情况
package com.shujia.day13;
public class KeBianCanShuDemo1 {
public static void main(String[] args) {
//需求1:定义一个方法,求两个int类型的和
System.out.println(sum(1,2));
//需求2:定义一个方法,求两个int类型的和
System.out.println(sum(1,2,3));
}
public static int sum(int a,int b){
return a+b;
}
public static int sum(int a,int b,int c){
return a+b+c;
}
}
当有很多个的时候就不能用上面的方法了,得使用可变参数和循环进行求和
package com.shujia.day13;
public class KeBianCanShuDemo1 {
public static void main(String[] args) {
//需求1:定义一个方法,求两个int类型的和
System.out.println(sum(1,2));
//需求2:定义一个方法,求两个int类型的和
System.out.println(sum(1,2,3));
//求多个int的和
System.out.println(sum(1,2,3,4,1,2,123,1,21,1));
}
public static int sum(int a,int b){
return a+b;
}
public static int sum(int a,int b,int c){
return a+b+c;
}
//将来传入若干个int类型的值,JVM将其封装到一个数组中,这个数组名字叫arr
public static int sum(int...arr){
int sumNum=0;
for (int i:arr){
sumNum+=i;
}//这时候得用增强for循环遍历数组进行求和
return sumNum;
}
}
下方图片中的红框的 ... 可以接收任意数量int类型的值
但是当输入的不再完全是int类型的时候,情况就不一样了
package com.shujia.day13;
import java.util.Arrays;
import java.util.List;
public class KeBianCanShuDemo1 {
public static void main(String[] args) {
//需求1:定义一个方法,求两个int类型的和
System.out.println(sum(1,2));
//需求2:定义一个方法,求两个int类型的和
System.out.println(sum(1,2,3));
//需求3:定义一个方法,求多个int的和
System.out.println(sum(1,2,3,4,1,2,123,1,21,1));
//需求4:有一个学生,姓名是字符串类型叫做"小花",考了三门试:98,99,60
//求该学生的总成绩,姓名:xxx, 总分:xxx
System.out.println(sumScore("小花", 98, 99, 60));
//Arrays工具类中的一个方法
//public static <T> List<T> asList(T... a)
List<String> list = Arrays.asList("java", "hadoop", "hive"); // 底层实际上是创建一个ArrayList集合
}
public static int sum(int a,int b){
return a+b;
}
public static int sum(int a,int b,int c){
return a+b+c;
}
//将来传入若干个int类型的值,JVM将其封装到一个数组中,这个数组名字叫arr
public static int sum(int...arr){
int sumNum=0;
for (int i:arr){
sumNum+=i;
}//这时候得用增强for循环遍历数组进行求和
return sumNum;
}
public static String sumScore(String name,int...score){
int sumScore=0;
for (int i:score){
sumScore+=i;
}//这时候得用增强for循环遍历数组进行求和
return "姓名:"+name+", 总分:"+sumScore;
}
}