方法重载和递归

时间:2022-02-01 19:36:44

1在多重循环中,如何在内层循环中使用break跳出外层循环。

break只跳出当前循环,也就是内循环,
用两个break,在要跳出的循环前加标记,
然后在所加标记的循环里面的任
何位置可以用break
flag即可跳出加标记的循环

2. 方法重载的定义、作用和判断依据

break只跳出当前循环,也就是内循环,
用两个break,在要跳出的循环前加标记,
然后在所加标记的循环里面的任
何位置可以用break
flag即可跳出加标记的循环

3. 递归的定义和优缺点

递归的定义:自己调用自己
优缺点:递归既花时间又耗内存,没优点


一些练习

1. 打印九九乘法表

 public class Chengfa{
    public static void main(String[] args) {  
        for(int i =1;i<=9;i++){
      for(int j =1;j<=i;j++){
         System.out.print(j+"*"+i+"="+j*i+"\t");
       }
    System.out.println();
       }
    }
}

2. 判断1-100之间有多少个素数并输出所有素数。(将判断一个数是否是素数的功能提取成方法,在循环中直接调用即可)

  public class Sushu{
        public static void main(String[] args) {
                int s=0;
        for(int i=1;i<=100;i++){
        boolean b=false;
        for(int j=2;j<i;j++){
        if(i%j==0){
          b=true;
          break;}
        }
        if(b==false){
            System.out.print(i+"\t");
                     }
          }
    }
   }

3. 输入三个班,每班10个学生的成绩,求和并求平均分

public class Zongping {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        for (int i = 1; i <= 3; i++) {
            //平均分
            double p = 0;
            System.out.println("请输入" + i + "班的学生成绩:");
            double sum = 0.0;
            for (int j = 1; j <= 10; j++) {
                //分数
                double d = sc.nextDouble();
                sum += d;
                p = sum / 10;
            }
    System.out.println("这个班的总分是:" + sum + "平均分是" + p);
        }
    }

}

4. 编写递归算法程序:一列数的规则如下: 112358132134......求数列的第40位数是多少。

 public class Guilv {
        public static void main(String[] args) {   
            System.out.println(Foo(40));
        }   
        public static int Foo(int i){   
            if (i <= 0)   
                return 0;   
            else if(i > 0 && i <= 2)   
                return 1;   
            else return Foo(i-1) + Foo(i-2);   
        }   
    }