zoukankan      html  css  js  c++  java
  • 04_循环补充和方法

    Day04补充笔记

    课程内容

    1、循环内容的补充

    2、方法

    循环内容补充

    嵌套循环

    1、在外层循环中,循环体又是一个比较复杂的操作,所以外层循环里面又包含了循环,被包含的循环,就称为内层循环。

    2、格式:

            for (初始化表达式1; 循环条件1;初始化变量1的自增) {

                    for(初始化表达式2; 循环条件2;初始化变量2的自增) {

                            循环体;

    }

    }

    3、执行流程:

            1、初始化表达式1

            2、计算循环条件1,如果为false,外层循环就结束了;如果为true,执行第3步

            3、初始化表达式2

            4、计算循环条件2,如果为false,内层循环就结束了,执行初始化变量1的自增,回到第2步;如果为true,执行第5步

            5、执行内层循环的循环体语句,执行初始化变量2的自增,回到第4步

    代码示例

    class Demo01_嵌套循环 {

             public static void main(String[] args) {

                      for(int i = 1; i <= 3; i++) {

                               for (int j = 1; j <= 5; j++) {

                                        System.out.println("i=" + i + ", j=" + j);

                               }

                      }

             }

    }

    练习

    打印99乘法表

    代码示例

    class Demo02_99乘法表 {

             /*

             1*1=1

             2*1=2       2*2=4

             3*1=3       3*2=6       3*3=9

             .......

             9*1=9       9*2=18     ............       9*9=81

     

     

             *

             **

             ***

             ****

            

             */

             public static void main(String[] args) {

                      for (int i = 1; i <= 20; i++) {

                               //打印i个星星

                               for (int j = 1; j <= i; j++) {

                                        System.out.print(i + "*" + j + "=" + i * j + " ");

                               }

                               //换行

                               System.out.println();

                      }

             }

    }

    while循环

    1、格式:

            初始化语句;

            while(循环条件) {

                    循环体;

                    初始化变量的自增;

    }

    2、执行流程:

            1、初始化语句;

            2、判断循环条件,如果为false,就while语句结束

            3、如果循环条件为true,就执行循环体,执行初始化变量的自增,回到第2步

    3、注意事项:

            1、循环条件之后,左大括号之前,不要加分号

            2、循环条件必须是计算结果为boolean类型的表达式

            3、初始化变量的自增:很容易忘记,需要注意

    代码示例

    class Demo03_while语句 {

             public static void main(String[] args) {

                      //初始化语句

                      int i = 1;

                      //while语句,控制循环次数为5

                      while(i <= 5) {

                               System.out.println("Hello World!");

                               //初始化变量的自增

                               i++;

                      }

             }

    }

    练习

    使用while语句,统计水仙花数的个数

    代码示例

    class Demo04_while语句练习水仙花数 {

             //使用while语句,统计水仙花数个数

             public static void main(String[] args) {

                      //初始化语句

                      int num = 100;

                      //计数器

                      int count = 0;

                      while (num <= 999) {

                               int ge = num % 10;

                               int shi = num / 10 % 10;

                               int bai = num / 100;

                               if (ge*ge*ge + shi*shi*shi + bai*bai*bai == num) {

                                        count++;

                               }

                               //初始化变量的自增

                               num++;

                      }

                      System.out.println(count);

             }

    }

    do...while循环

    1、格式:

            初始化语句;

            do {

                    循环体语句;

                    初始化变量的自增;

    } while(循环条件表达式);

    2、执行流程:

            1、初始化语句

            2、循环体语句、初始化变量的自增

            3、计算循环条件表达式,如果为false,do...while语句就结束了;如果为true,回到第2步

    3、注意事项:

            1、无论循环条件表达式计算结果如何,都至少会执行一次循环体语句(循环条件,只能控制从第二次开始的循环体)

            2、最后又一个分号,用于表示语句结束

    代码示例

    class Demo05_dowhile {

             public static void main(String[] args) {

                      int i = 1;

                      do {

                               System.out.println("Hello World!");

                               i++;

                      } while(i <= 5);

     

             }

    }

    三种循环语句的比较

    1、do...while循环和其他两种循环的区别

            do...while至少会执行一次循环体

            其他两种循环,如果循环条件第一次计算就为false,循环体语句就一次都执行不了

    2、while语句和for语句的区别:

            1、代码层面:声明的初始化变量的作用域,while语句的初始化变量,声明在while语句的外面,所以在while语句结束之后,变量可以继续使用;for语句初始化变量声明在for语句的里面,所以for语句结束之后,这个变量就消失了。

            2、设计层面:for语句一般用在循环次数比较明确的场景下;循环范围比较明确,次数不是很明确的时候,使用while语句相对多。

    代码示例

    class Demo06_三种循环的特点 {

             public static void main(String[] args) {

                      int x;

                      for (int i = 1; i <= 100; i++) {

                               x = i;

                      }

                      //System.out.println(x);编译报错,循环体可能一次都不执行

     

     

                      int y;

                      int j = 1;

                      do {

                               y = j;

                               j++;

                      } while (j <= 100);

                      System.out.println(y);

     

     

     

                      for(int i = 1; i <= 5; i++) {

                               System.out.println("HelloWorld");

                      }

                      //System.out.println(i);编译报错,i的作用域已经结束

     

     

                      int i = 1;

                      while(i <= 5) {

                               System.out.println("HelloWorld");

                               i++;

                      }

                      System.out.println(i);

             }

    }

    死循环

    1、定义:无限循环,循环体可以无限的循环下去,永不结束。

    2、格式:

            1、for语句的死循环:

                    for (;;) {

             循环体语句;

    }

    2、while语句的死循环【常用】

            while(true) {

                    循环体语句;

    }

    3、作用:

            1、有时候,在写代码编译阶段,不太清楚循环什么时候结束,只有到了运行阶段,才能清楚什么时候会结束,所以只能写成死循环,还有一些循环跳转语句,可以在循环体内部结束当前循环。

            2、在设计服务端程序时,就希望能够永远给用户提供服务,无论用户访问多少次服务,都能够运行正常的代码逻辑,所以在服务端开发中,就是使用死循环来完成这样的需求。

    代码示例

    import java.util.Scanner;

    class Demo07_死循环 {

             public static void main(String[] args) {

                      for (;;) {

                               System.out.println("Hello World!");

                      }

     

                      //System.out.println("执行结束");编译报错,无法访问该语句

     

     

                      while(true) {

                               System.out.println("HelloWorld");

                      }

                      //System.out.println("执行结束");//无法访问的语句,所以编译报错

     

                      //键盘录入一个数字,如果为0,那么就结束录入

                      Scanner sc = new Scanner(System.in);

                      System.out.println("请录入若干数字,如果录入0表示录入结束");

                      while(true) {

                               int x = sc.nextInt();

                               if (x == 0) {

                                        System.out.println("谢谢使用本系统");

                                        break;

                               }

                               System.out.println("您录入的数据为:" + x);

                      }

             }

    }

    跳转语句

    1、在循环过程中,需要在循环体中,来控制循环的结束、跳转

    2、continue:继续

            结束本次循环,继续下次循环

    3、break:结束、破坏

            结束当前循环

    4、return:返回,返回当前方法(结束当前方法)

            结束当前方法

    5、System.exit(0):结束虚拟机

    代码示例

    class Demo08_跳转语句 {

             public static void main(String[] args) {

            

                      //打印7次ujiuye

                      for (int i = 1; i <= 10; i++) {

                               if ( i % 3 == 0) {

                                        continue;

                               }

                               System.out.println("ujiuye");

                      }

                     

                      //打印2次ujiuye,打印欢迎下次光临

                      for (int i = 1; i <= 10; i++) {

                               if ( i % 3 == 0) {

                                        break;

                               }

                               System.out.println("ujiuye");

                      }

                      System.out.println("欢迎下次光临");

                     

                     

                      //输出两次ujiuye,不输出欢迎下次光临

                      for (int i = 1; i <= 10; i++) {

                               if(i % 3 == 0) {

                                        return;

                               }

                               System.out.println("ujiuye");

                      }

                      System.out.println("欢迎下次光临");

             }

    }

  • 相关阅读:
    Windows平板优化设置
    MAC OS UI设计
    使用bat/vbs/ahk对Windows下进行自动化操作
    C#在高性能计算领域为什么性能却如此不尽人意
    自定义多重搜索
    CF797E Array Queries
    标记永久化学习笔记
    P7200 [COCI2019-2020#1] Lutrija
    P1075 [NOIP2012 普及组] 质因数分解
    基础数论重学笔记
  • 原文地址:https://www.cnblogs.com/man-tou/p/10635883.html
Copyright © 2011-2022 走看看