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
         }
 ​
     }
 }

  


 

递归

  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
     }
 }
 ​

  

 

posted @ 2021-06-16 22:44  浅mo年华  阅读(48)  评论(0)    收藏  举报