第12讲:分支语句

第12讲:分支语句

1. 流程控制概述

1.1 流程控制的概念

  • 通过不同的流程控制语句,控制程序的执行顺序,来达到想要的执行效果。

1.2 流程控制语句的分类

  • 顺序结构
  • 分支结构
  • 循环结构

2. 分支结构

2.1 if语句(判断题)

2.1.1 if语句的格式1

  • 定义格式和范例

    //定义格式
    if(关系表达式){语句体;}
    
    //范例:
    if(i<1){
        //要执行的代码逻辑;
    }
    
  • 执行顺序

    • 只有关系表达式的值为true时,才执行{}中的代码逻辑。

2.1.2 if语句格式2

  • 定义格式和范例

    //定义格式
    if(关系表达式){
        //要执行的代码逻辑1;
    }else{
        //要执行的代码逻辑2;
    }
    
    //范例:
    if(i<1){
        //要执行的代码逻辑1;
    }else{
        //要执行的代码逻辑2;
    }
    
  • 执行顺序

    • else:意为否则,即如果关系表达式的值为true的话,则执行代码逻辑1。否则执行代码逻辑2。

2.1.3 if语句格式3

  • 定义格式和范例:

    //定义格式
    if(关系表达式1){
        //要执行的代码逻辑1;
    }else if(关系表达式2){
        //要执行的代码逻辑2;
    }else{
        //要执行的代码逻辑3;
    }
    
    //范例:
    if(i<1){
        //要执行的代码逻辑1;
    }else if(1>10){
        //要执行的代码逻辑2;
    }else{
        //要执行的代码逻辑3;
    }
    
  • 执行顺序:

    • else if:意为否则继续判断。即关系表达式1不成立的话,继续判断关系表达式2的值。

2.2 switch语句(选择题)

2.2.1 定义格式和执行顺序

  • 定义格式:

    switch(表达式)
    {
    	case 1:
    	语句体1break;
        case 2:
        语句体2;
        break;
        degault:
        语句体n+1;
        break;
    }
    
  • 执行流程

    1. 首先计算表达式的值。
    2. 将值和case后面的值进行比较。
      • 有对应的值:
        • 执行case下方相应的语句,在执行过程中,遇到break,就会结束。
      • 无对应的值:
        • 执行default里面的语句体。

2.2.2 switch的穿透效果

  • 当程序判断某个case的条件为真后,它将执行该case所带的语句块,不再对后面的case进行判断而直接执行。
  • 也就是说,如果不用break将其结束,会执行其他case下的语句。此为switch语句的穿透。

3. 循环结构

3.1 循环结构的组成

  • 条件初始化语句:循环开启时的状态。
  • 条件判断语句:循环反复执行的条件。
  • 循环语句体:循环反复执行的内容。
  • 条件控制语句:循环过程中每次变化的内容,用来控制循环次数。

3.2 for循环

  • 定义格式

    for(初始化语句;条件判断语句;条件控制语句){
    	循环体语句;
    }
    
  • 执行流程:

    1. 首先执行初始化语句
    2. 执行条件判断语句
      • true
        1. 执行循环体语句
        2. 执行条件控制语句
        3. 返回2循环,执行条件判断语句。
      • false
        • 结束循环

3.3 while循环

  • 定义格式

    初始化语句;
    while(条件判断语句){
    	循环体语句;
    	条件控制语句;
    }
    
  • 执行流程

    1. 执行初始化语句
    2. 执行条件判断语句
      • true
        1. 执行循环体语句
        2. 执行条件控制语句
        3. 返回2循环,执行条件判断语句。
      • false
        • 结束循环

3.4 do…while循环

  • 定义格式

    初始化语句;
    do{
    	循环体语句;
    	条件控制语句
    }
    while(条件判断语句);
    
  • 执行顺序

    1. 执行初始化语句
    2. 执行循环体语句
    3. 执行条件控制语句
    4. 执行条件判断语句
      • true
        • 返回2继续循环
      • false
        • 结束循环
  • 总结

    • 可以发现,无论条件是否成立,do…while循环的循环体都会被至少执行一次。

3.5 三种循环的区别

  • 执行顺序的不同:
    • for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行
    • o…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断
  • 自增变量作用域的不同:
    • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问了。
    • 条件控制语句所控制的自增变量,对while循环来说,不归属其语法结构中,在while循环结束后,该变量还可以继续使用。
  • 死循环的格式不同:
    • for(;😉{}
    • while(true){}
    • do{}while(true);

3.6 跳转控制语句

3.6.1 continue

  • 用在循环中,基于条件控制,跳过本次循环体内容的执行,继续下一次执行

3.6.2 break

  • 用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前整个循环
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值