Day08-递归-数组
-
在方法声明中,在指定参数类型后加一个省略号(...)
-
一个方法只能一个可变参数,他必须时方法的最后一个参数,任何参数都必须在他之前声明
public void aa(int ... i, int a)//不行 public void aa(int a, int ... i)//行
package shuzu;
public class Demo01 {
public static void main(String[] args) {
Demo01 demo01 = new Demo01();
demo01.aa(1, 2, 3);
}
public void aa( int ... i){
for (int j = 0; j < i.length; j++) {
System.out.println(i[j]); // 1 2 3
}
}
}
递归
-
自己调用自己
-
有一个判断条件终止
-
递归的数大就不推荐用,用栈很难分太多
用递归求阶乘
package shuzu;
public class Demo02 {
public static void main(String[] args) {
int a =j(5);
System.out.println(a);//输出120
}
//用递归求一个数的阶乘
public static int j (int n){
if (n == 1){
return 1;
}else {
return n*j(n -1); //当n=2时,n不等于1就用2*j(2-1)=2*j(1),调用j(1),因为j(1)的返回值为1所以是2*1=2。
}
}
}

数组
-
数组时相同类型数据的有序集合
-
数组描述的时相同类型的若干个数据,按照一定先后次序排列组合
-
每个数组通过下标来访问
-
是从0开始的
package shuzu;
public class Demo03 {
public static void main(String[] args) {
int[] a;//定义一个数组a
int sum = 0;
a = new int[10];////创建一个大小为10的数组,下标从0开始
for (int j=0; j<a.length; j++){//把1到10赋值给数组a
a[j] = j + 1;
}
for (int i = 0; i < a.length; i++) {//获取数组长度
sum = sum + a[i];
}
System.out.println("总和为: "+sum); //55
}
}
浙公网安备 33010602011771号