06 流程控制-分支

94 阅读2分钟

流程控制

就是控制代码按照什么结构顺序来执行的

顺序结构

是程序中最简单、最基本的流程控制,没有特定的语法结构,程序会按照代码的先后顺序,依次执行

image.png

分支结构

从上到下执行代码的过程中,根据不同的条件,去执行不同的代码,得到不同的结果

if语句

if(条件表达式){执行语句代码}

若 条件表达式为true ,那么则执行语句代码,否则不执行

image.png

if else 语句

if(条件表达式){
        执行语句代码1
} else {
        执行语句代码2
}
    

若 条件表达式为true ,执行语句1 ,若条件表达式为false 则执行语句2

image.png

image.png

if else if 语句

if(条件表达式1){
        执行语句代码1
} else if(条件表达式2){
        执行语句代码2
} else if (条件表达式3) {
        执行语句代码3
} else {
    最后的语句
}

若条件表达式1不满足,则执行表达式2,若2满足则执行代码2 ;若都不满足,则执行最后的语句

image.png

三元表达式

有三元运算符组成的式子称为三元表达式

条件表达式 ? 表达式1 : 表达式2

若条件表达式为true, 则执行表达式1 ; 为false 则执行表达式2

image.png

switch语句

根据不同的条件来执行不同的代码 ,当需要针对变量设置一系列的特定值的选项时,就可以使用switch

switch(表达式){
    case value1 :
         执行语句1;
         break;
     case value2 :
         执行语句2;
         break;
     ...
     default:
         执行最后的语句;
}

根据条件表达式里面返回的值,和case 后面的value相匹配,若匹配成功,就执行该case里面的语句,若都没有匹配上,就执行default里面的语句

image.png

image.png

  1. 在开发里面表达式经常写成变量
  2. 表达式和case里面的值进行相匹配的时候是 全等,必须是值和数据类型都相同的情况下才可以匹配成功
  3. 若 当前case 里面没有break,则不会退出switch 而是继续执行下一个case

if else if 语句 和switch语句的区别

同 : 都是多分支语句

一般情况下,它们两个语句可以相互替换

异 :

1、switch...case语句通常处理case 比较确定值的情况,而 if...else...语句更加灵活,常用于范围判断(大于、等于某个范围)

2、switch语句进行条件判断后直接执行到程序的条件语句,效率更高 ; 而 if...else语句有几种条件,就得判断多少次

3、当分支较少时,if...else语句的执行效率要比switch语句高

4、当分支比较多时,switch语句的执行效率比较高,而且结果更加清晰