4.Java笔记——流程控制语句

 1.流程控制语句结构分类

        顺序结构 : 从上到下,从左到右-->默认。

       选择结构 : 满足条件执行对应的代码,if 区间判断|定值判断,switch 定值判断,能用switch的都能if,能用if不一定能够使用switch。

       循环结构 : 让一些代码重复不停的执行多次。

一、 选择结构

2.if 语句

(1)单选泽|单分支

               if(条件表达式){

                满足条件执行的代码段;

               条件表达式  : 必须为一个值为boolean的表达式

               执行流程:

                      1.计算条件表达式

                      2.如果结果为true,执行{}中的语句体

                      3.如果结果为false,就直接跳过if结构

                                                

    (2)双选择或双分支

                   if(条件表达式){

                      满足条件执行的代码段;

                   }else{

                      不满足条件执行的代码段;

                   }

                   注意: 双选择一定能够执行语句体|一定能够得到结果

                                ​​​​​​​        ​​​​​​​        ​​​​​​​        

    (3)多选择|多分支

                   if(条件表达式1){

                      满足条件表达式1执行的语句体1;

                   }else if(条件表达式2){

                      满足条件表达式2执行的语句体2;

                   }else if(条件表达式3){

                      满足条件表达式3执行的语句体3;

                   }.....

           else{ -->

              如果以上都不满足执行得到语句体n;

           }

       注意: 当{}中的语句体只有一句,前后的{}可以省略

        ​​​​​​​        ​​​​​​​        ​​​​​​​          

 

3.switch 定值判断

        能用if的不一定能用switch,能用switch都能使用if

            switch(表达式){

               case 值1:

                   语句体1;

                   break;

               case 值2:

                   语句体2;

                   break;

               default:

                   语句体n;

                   break;

        表达式 :  一般为一个变量,可以为一个表达式,常量都可以,结果数据类型要求: byte,short,int,char,枚举类型(jdk5),String字符串(jdk7)

            case : 后面接一个定值,拿到表达式的结果与case后面的定值进行判断是否相等,相等执行对应的语句体,不相等,继续向下判断

                从上到下一次判断

            break : 终止当前的switch语句

            如果没有break会发生case穿透 : 从当前满足条件的语句体开始执行,一直向下 穿透,无论下面的case是否满足条件都不再判断,直接执行语句体,直到遇到下一个break或者switch语句的结束而结束。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

        default : 与else相同

    以上的case都不满足,name就执行default中的内容位置可以在switch语句中的任意位置,一般定义在switch语句的最后,如果切换位置,注意break定义,一对{}中的内容就要缩进一个tab键

循环结构:

             让一些重复执行多次

              

二、循环结构

 

1、循环结构的基本组成部分

一般可以分为四部分:

  1. 条件初始化:在循环开始最初执行,而且只做唯一一次。

  2. 条件判断,如果成立,则循环继续;如果不成立,则循环退出。

  3. .不满足条件结束循环,满足条件执行

  4. ,执行循环体语句步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次。

 

        for循环   次数循环,while循环 条件循环,do..while循环  都可以互相转换

        循环结构:让一些重复执行多次

2、循环语句for

 

for循环

       for(条件初始化;条件判断;条件变化 )

       重复执行的语句体

       条件初始化 : 声明一个变量i并且第一次赋值  -->i条件

       条件判断 : 对变量的i判断,决定循环是否结束

       条件变化|迭代因子 : 变量i自身值的改变

for循环语句格式

for(初始化表达式①; 布尔表达式②; 步进表达式③){

循环体④

}

执行顺序:①②③④>②③④>②③④…②不满足为止

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

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

  • 具体执行语句

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

重复做一些事情,而且次数比较确定,可以用for循环。

 

  for循环的变量条件i只属于当前 for循环,只能在循环中使用

       for可以通过条件的变化控制循环的次数,循环体中可以使用条件的值,条件变量可以按照想要的逻辑进行变化,实现需求

       考虑: 是否存在一些代码重复执行,如果是,规律可循,可以选择使用循环结构

       如果循环体语句只有一句,前后的{}可以省略

for循环练习

    注意: for循环中可以嵌套选择语句结构

​​​​​​​

3、循环语句while

while循环语句格式:

初始化表达式①

while(条件判断②){

循环体③

步进表达式④

}

执行流程

执行顺序:①②③④>②③④…②不满足为止

  • 负责完成变量初始化

  • 负责判断是否满足循环条件

③具体执行的语句

  • 循环后,循环变量的变化情况

注意:能够使用for循环的都能使用while,可以互相转换,确定循环次数|变量变化区间–>推荐使用for,条件不需要我们声明,变化也不需要我们声明 -> 推荐使用while。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

4do…while与while之间的区别

do…while 无论是否满足条件都至少执行一次

while: 先判断,满足才执行,不满足结束

do…while:先执行,后判断,判断满足条件继续下一次执行,不满足条件结束

格式

  • 条件初始化;

do{

  • 语句体;

  • 条件变化;

}while(⑤条件判断);

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

5、死循环

无法通过自身条件决定循环的结束,无线循环执行下去。  

注意: 以后在使用 循环的时候,应该避免死循环的出现在控制台中强制终止程序的执行ctrl+c

        ​​​​​​​        ​​​​​​​        

6break 与 continue 关键字的区别

break:
作用: 结束,终止
应用场景: switch语句,循环中,结束最内层循环
continue:
作用: 结束本次循环,直接进入到下一次循环中
应用场景: 循环中

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

7、嵌套循环

(1)嵌套循环,是指一个循环体是另一个循环。比如for循环里面还有一个循环,就是嵌套循环。总共的循环次数=外循环次数*内循环次数

嵌套循环格式:

for(初始化表达式①;循环条件②;步进表达式⑦){

for(初始化表达式③;循环条件④;步进表达式⑥){

执行语句⑤;

}

}

嵌套循环执行流程:

123456>456>723456>456

外层循环执行一次,内层循环执行一轮(从开始到结束)

        ​​​​​​​        ​​​​​​​        

(2)循环嵌套下的break与continue使用

默认针对: 多层循环嵌套下,默认针对内层循环

带标签的break|continue:

在循环开始位置定义标签  标签名:

使用break|continue的时候,指定针对哪一层循环进行操作  break 标签名;

posted @ 2021-07-20 17:22  孤影_空白  阅读(21)  评论(0编辑  收藏  举报