可变参数
来源:互联网 发布:淘宝怎么联系客服啊 编辑:程序博客网 时间:2024/05/21 15:43
可变参数
首先,假设出现一种情况,需要取两个数中的最大值。
我们可以写一个方法:
/**可变参数功能说明*/public class VariableDemo { public static void main(String[] args){ int num1 = 10; int num2 = 5; int mx = max(num1,num2); System.out.println("在" + num1 + "和" + num2 + "中最大值是" + mx); } /** 取两个整型中的最大值 */ public static int max(int num1, int num2){ return num1 >= num2 ? num1 : num2; }}
现在我想要取三个数中的最大值,那么程序就要新加一个方法:
/**可变参数功能说明*/public class VariableDemo { public static void main(String[] args){ int num1 = 10; int num2 = 5; int num3 = 20; int mx = max(num1, num2, num3); System.out.println("在" + num1 + " , " + num2 + "和" + num3 + "中最大值是" + mx); } /** 取两个整型中的最大值 */ public static int max(int num1, int num2){ return num1 >= num2 ? num1 : num2; } /** 取三个整型中的最大值 */ public static int max(int num1, int num2, int num3){ int temp = num1 >= num2 ? num1: num2; return temp >= num3 ? temp : num3; }}
这样写,也可以满足要求。如果我想取4个整数或者5个整数中的最大值,那么就要再写方法。
或者传递一个数组给max()方法,但是数组的新建和遍历都比较麻烦。
这时候我们就可以用可变参数解决问题:
一个方法在调用的时候必须根据其规定的参数传递参数,规定了5个,就必须传递五个,但是在JDK5.0之后,为了让方法更加具有灵活性,使用了可变参数,在调用方法的时候可以任意多的传递参数。
可变参数的定义方法: 返回值类型 方法名称(类型...参数名称){} eg: int max(int... num){}此时,num就相当于一个数组对象
例子如下:
/** 可变参数功能说明*/public class VariableDemo { public static void main(String[] args){ int num1 = 10; int num2 = 5; int num3 = 20; //int mx = max(num1, num2); //System.out.println("在" + num1 + "和" + num2 + "中最大值是" + mx); //int mx = max(num1, num2, num3); //System.out.println("在" + num1 + " , " + num2 + "和" + num3 + "中最大值是" + mx); int mx = max(17, 26, 23, 94, 105); System.out.println("最大值是"+mx); } /** 取两个整型中的最大值 */ public static int max(int num1, int num2){ return num1 >= num2 ? num1 : num2; } /** 取三个整型中的最大值 */ public static int max(int num1, int num2, int num3){ int temp = num1 >= num2 ? num1: num2; return temp >= num3 ? temp : num3; } /** 采用可变数组取整型中的最大值 */ public static int max(int... num){ int max = num[0]; for(int n : num) { if(n > max){ max = n; } } return max; }}
0 0
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 如何使用Java来编译运行C文件(一)
- 写一个图案解锁控件
- B. Reading codeforces-problem-234B
- AnimationPath类
- 一天一个控件——TextInputLayout
- 可变参数
- Docker实践 - 使用maven插件自动部署web应用至Docker容器的tomcat
- WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。
- 将整数分解成若干个质因数.
- matlab 产生随机数汇总
- Lua类的实现
- 5-28 猴子选大王 ,即约瑟夫环问题
- ECMAScript 6(4)变量的解构赋值
- 深入理解HTTP Session