Java基础(三)

流程概述

                  概念:流程是指程序步骤执行的先后顺序,先做什么,后做什么。

                  分类:

      1. 顺序结构:从上到下,从前向后,顺序执行。

      2. 选择结构:执行路线分叉,做这个,或者做那个,也叫分支结构。

      3. 循环结构:重复做一些事情。

顺序结构

                  没有特定的语法结构。

                  写在前面的先执行,写在后面的后执行。

                 

 

 

 

选择结构

                  Java中主要通过if语句来实现选择分支流程,if语句的格式有常用的三种:

      l  单if语句:执行某些步骤,或者不执行它们。

      l  标准的if-else语句:在2套步骤方案中选择一种执行。

      l  扩展的if-else语句:在3套或更多步骤方案中选择一种执行。

单if语句

                  效果:根据条件判断,成立则执行一些代码,不成立则不执行这些代码。

                  格式:

                    if (布尔表达式) {

               语句体

       }

  执行流程:

      1. 首先判断小括号之内的条件是true还是false。

      2. 如果是true, 则执行大括号之内的语句体,即一些代码。

      3. 如果是false, 则不执行大括号之内的语句体。

流程图:

 

 

 

 

标准的if-else语句

                  效果:根据条件判断,成立则执行if中的代码,不成立则执行else中的代码。

                  格式:

                           if (布尔表达式) {

                      语句体A

        } else {

                      语句体B

        }

    执行流程:

      1. 首先判断小括号之内的条件是true还是false。

      2. 如果是true,那么执行if大括号内的语句体A,而else的内容将不再执行。

      3. 如果是false,那么执行else大括号内的语句体B,而if的内容将不再执行。

    流程图:

                 

 

 

 

扩展的if-else语句

                  作用:在N个语句体当中选择中的一个执行。

                  格式:

                           if (条件判断1) {

                      语句体1

        } else if (条件判断2) {

                      语句体2

        }

        ……

        else if (条件判断N) {

                      语句体N

        } else {

         语句体N+1

        }

      执行流程:

    1.   如果条件判断1成立,执行语句体1,后续代码不再执行。
    2.   如果条件判断1不成立,跳过语句体1,继续执行条件判断2。
    3.   如果条件判断2成立,执行语句体2,后续代码不再执行。
    4.   如果条件判断2不成立,跳过语句体2,继续执行条件判断N。
    5.   如果条件判断N成立,执行语句体N,后续代码不再执行。
    6.   如果条件判断N不成立,跳过语句体N,执行else中的代码。

      流程图:

         

 

 

 

练习1:考试成绩划分

 

 

 

 

练习2:求两者最大值

 

 

 

 

练习3:求三者最大值

 

 

 

 

 

 

 

循环结构

组成部分

                  一个循环结构的典型组成部分有:

    1.   初始化语句(准备工作)。这部分内容最先执行,而且仅执行一次。
    2.   条件判断(布尔结果)。如果成立,则循环继续;如果不成立,则循环退出。
    3.   循环体(重复的内容)。每次循环都将重复执行循环体的代码内容。
    4.   步进语句(扫尾工作)。每次循环体执行后,都会执行一次步进语句。

for循环

                  通常用于控制次数的场景,格式为:

                           for (1初始化语句;2条件判断;4步进语句) {

                       3循环体

        }

      执行顺序:1234 => 234 => 234……直到2不满足为止。

        1负责完成循环变量初始化

        2负责判断是否满足循环条件,不满足则跳出循环

        3具体执行的语句

        4循环后,循环条件所涉及变量的变化情况

      流程图:

                     

练习:求出1-100的偶数和

使用for循环,从1一直到100逐一判断,如果是偶数,则累加起来。最终输出结果。

 

while循环

                  通常用于控制条件的场景,格式有两种。

标准格式

                  while (1条件判断) {

             2循环体

     }

    执行顺序:12 => 12 => 12 ……直到1不满足为止。

    1负责判断是否满足循环条件,不满足则跳出循环

    2具体执行的语句

    流程图:

                 

扩展格式

                  1初始化语句

                  while (2条件判断) {

             3循环体

             4步进语句

       }

 

 

    执行顺序:1234 => 234 => 234……直到2不满足为止。

      1负责完成循环变量初始化

      2负责判断是否满足循环条件,不满足则跳出循环

      3具体执行的语句

      4循环后,循环条件所涉及变量的变化情况

 

    流程图

                         

 

        

 

 

 

练习:求出1-100的奇数和

         使用while循环,从1一直到100逐一判断,如果是偶数,则累加起来。最终输出结果。

                

 

 

 

 

for与while的区别

          大多数时候,for循环与while循环可以等效替换。但是二者存在几点区别:

  1. for循环格式固定,控制次数更方便;

    而while循环格式灵活,不太在意循环次数。

    所以次数确定使用for较多;次数不确定,使用while较多。

  2. for循环小括号内定义的变量,循环内可用,循环外不可用;

    while循环的初始化表达式本来就在外面,循环外仍然可以使用。

        3. 跳转语句continue的效果不同。(往下介绍)

     

 

 

   

跳转控制语句

         循环当中可以使用两种跳转控制语句:

    l  break语句

    l  continue语句

break语句

                  如果希望当前循环立刻结束,可以使用break语句:

                  break;

                  一旦执行这个语句,整个循环立刻结束。

     

 

 

 

continue语句

                  如果希望循环只是跳过当前次,后续还要继续,那么可以使用continue语句:

                  continue;

                  一旦执行这个语句,当前次循环剩余内容立刻跳过,马上开始下一次循环。

     

 

 

 

for和while循环中的continue

     

 

 

 

break与continue的区别

    l  break会将整个循环彻底断掉,剩余多少次全部停掉。

    l  continue只是跳过当前次,剩余的次数仍然执行。

     

 

 

 

死循环

                  概念:永远无法退出的循环,叫做死循环。

                  如果希望手写一个死循环,那么可以使用格式:

                  标准格式:

                  while (true) {

             循环体

     }

    另一种等效的格式:

    for ( ; ; ) {

             循环体

    }

  PS:死循环当中仍然可以根据实际需要使用break或continue语句。

        

循环嵌套

                  可以在一个循环的内部,套用又一个循环,行程内外层嵌套的结构。

                  在循环嵌套中,外层循环的每一次执行,都对应这内层循环的完整多次执行。

     

 

 

 

练习:打印一天中所有的分钟时刻

                  提示:外层控制小时,内层控制分钟。

       

 

 

 

循环嵌套中的跳转语句

                  break或continue只能作用于当前所属层循环。如果希望作用于外层循环,可以使用标签的写法:

                  标签名称:for (…)  {    //外层循环

            for (…) {            //内层循环

                     break 标签名称;

            }

          }

     

 

 

 

知识总结

  1. 流程:也就是代码的若干个步骤,先做什么,后做什么。
  2. 流程分类:

    a)       顺序结构

    b)       选择结构

    c)        循环结构

    3. 选择结构,if语句的格式三种:

    a)       单if语句:执行代码,或者不执行;有或无。

    b)       标准的if-else语句:执行A或者执行B,二者选其一。

    c)        扩展的if-else语句:N者选其一。

    4. 循环结构:

    a)       for循环:格式比较死,擅长控制次数。

    b)       while循环:格式比较灵活,不太在意次数。

                         i.            标准格式

                         ii.            扩展格式

   5. 跳转控制语句:

    a)       break;      一旦执行,整个循环立即结束。

    b)       continue; 一旦执行,当前单次循环立刻结束,马上开始下一次。

   6. 循环嵌套,循环体里的循环。

posted @ 2019-09-07 15:52  _L先生  阅读(193)  评论(0编辑  收藏  举报