Java第七课--命令行传参、可变参数、递归思想
package com.java.methed;
public class Demo03 {
public static void main(String[] args) {
for (int i=0;i< args.length;i++){
System.out.println("args["+i+"]:"+args[i]);
}
}
}
//通过命令行来传递参数
C:\Users\86138\Desktop\新建文件夹\基础语法\src>java com.java.methed.Demo03 this isa world
args[0]:this
args[1]:isa
args[2]:world
可变参数
-
在方法声明中,在指定参数类型后加一个省略号(...)
-
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明
package com.java.methed;
public class Demo04 {
public static void main(String[] args) {
Demo04 demo04=new Demo04();
demo04.test(1,2,3,4,5,6);
demo04.printMax(1,2,3,4,5,6);//6.0
demo04.printMax(1.0,2.5,1.1,2,2.1,2.12);//2.5
}
public 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]);
}
public static void printMax(double ...numbers){
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("这个最大的数为:"+result);
}
}
递归
-
递归头:什么时候不调用自身方法。如果没有头,将陷入死循环
-
递归体:什么时候需要调用自身方法
package com.java.methed;
public class Demo05 {
//递归思想
public static void main(String[] args) {
System.out.println(f(10));
}
//5! 5*4*3*2*1
//阶乘方法
public static int f(int n) {
if (n == 1) {
return 1;
}else {
return n*f(n-1);
}
}
}