流程控制
就是控制代码按照什么结构顺序来执行的
顺序结构
是程序中最简单、最基本的流程控制,没有特定的语法结构,程序会按照代码的先后顺序,依次执行
分支结构
从上到下执行代码的过程中,根据不同的条件,去执行不同的代码,得到不同的结果
if语句
if(条件表达式){执行语句代码}
若 条件表达式为true ,那么则执行语句代码,否则不执行
if else 语句
if(条件表达式){
执行语句代码1
} else {
执行语句代码2
}
若 条件表达式为true ,执行语句1 ,若条件表达式为false 则执行语句2
if else if 语句
if(条件表达式1){
执行语句代码1
} else if(条件表达式2){
执行语句代码2
} else if (条件表达式3) {
执行语句代码3
} else {
最后的语句
}
若条件表达式1不满足,则执行表达式2,若2满足则执行代码2 ;若都不满足,则执行最后的语句
三元表达式
有三元运算符组成的式子称为三元表达式
条件表达式 ? 表达式1 : 表达式2
若条件表达式为true, 则执行表达式1 ; 为false 则执行表达式2
switch语句
根据不同的条件来执行不同的代码 ,当需要针对变量设置一系列的特定值的选项时,就可以使用switch
switch(表达式){
case value1 :
执行语句1;
break;
case value2 :
执行语句2;
break;
...
default:
执行最后的语句;
}
根据条件表达式里面返回的值,和case 后面的value相匹配,若匹配成功,就执行该case里面的语句,若都没有匹配上,就执行default里面的语句
注 :
- 在开发里面表达式经常写成变量
- 表达式和case里面的值进行相匹配的时候是 全等,必须是值和数据类型都相同的情况下才可以匹配成功
- 若 当前case 里面没有break,则不会退出switch 而是继续执行下一个case
if else if 语句 和switch语句的区别
同 : 都是多分支语句
一般情况下,它们两个语句可以相互替换
异 :
1、switch...case语句通常处理case 比较确定值的情况,而 if...else...语句更加灵活,常用于范围判断(大于、等于某个范围)
2、switch语句进行条件判断后直接执行到程序的条件语句,效率更高 ; 而 if...else语句有几种条件,就得判断多少次
3、当分支较少时,if...else语句的执行效率要比switch语句高
4、当分支比较多时,switch语句的执行效率比较高,而且结果更加清晰