Java学习笔记 --- 可变参数

一、可变参数

Java允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法,通过可变参数实现。

Java学习笔记 --- 可变参数_第1张图片

案例演示:

 public class VarParameter01 {
	public static void main(String[] args) {
		HspMethod m = new HspMethod();
		System.out.println("和=" + m.sum(20, 1, 50));
	}
}

class HspMethod {
	//可以计算2个数的和  3个数的和 4..个
	//使用可变参数
	//int...表示接收的是可变参数,类型是int,即可以接收多个int
	//使用可变参数时,可以当作数组来使用 即nums可以当作数组
	public int sum(int...nums) {
		int res = 0;
		for(int i = 0; i < nums.length; i++) {
			res += nums[i];
		}
		return res;
	}
}

二、注意事项和使用细节

1、可变参数的实参可以是0个或者任意多个

2、可变参数的实参可以是数组

3、可变参数的本质就是数组

4、可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后

5、一个形参列表中只能出现一个可变参数

三、入门练习

有三个方法,分别实现返回姓名和两门课成绩(总分),返回姓名和三门课成绩(总分),返回姓名和五门课成绩(总分)。封装成一个可变参数的方法。

public class VarParameterExercise {
	public static void main(String[] args) {
		HspMethod m = new HspMethod();
		System.out.println(m.showScore("张三", 22.2, 60.1));
		System.out.println(m.showScore("李四", 22.2, 60.1, 100.5));
		System.out.println(m.showScore("铁蛋", 22.2, 60.1, 100.5, 40.9, 50.7));
	}
}

class HspMethod {
	public String showScore(String name, double...nums) {
		double res = 0;
		for(int i = 0; i < nums.length; i++) {
			res += nums[i];
		}
		return name + nums.length + "门课的成绩=" + res;
	}
}

你可能感兴趣的:(java基础学习,学习,java)