*****分支结构:
1、程序的流程控制语句:3种
1、顺序结构 - 默认:从上向下依次执行每一句话
2、分支结构 - 通过条件判断,选择部分代码执行
3、循环结构 - 通过条件判断,选择要不要重复执行某块代码
2、如何使用:3大类
if分支:3种写法
1、一个条件,一件事,满足就做,不满足就不做
if(条件){
操作;
}
2、一个条件,两件事,满足就做第一件,不满足就做第二件
if(条件){
操作;
}else{
默认操作;
}
3、多个条件,多件事,满足谁就做谁
if(条件1){
操作1;
}else if(条件2){
操作2;
}else{
默认操作;
}
4、分支可以嵌套
switch...case分支:
语法:
switch(变量/表达式){
case 值1:
操作1;
break;
case 值2:
操作2;
break;
default:
默认操作;
}
特殊:
1、问题:默认只要一个case满足后,会将后续所有的操作全部做完
解决:关键字break;
建议:每一个case的操作后面都可以跟上一个break;
1、最后一个操作default可以省略break
2、如果中间多个条件,做的操作是一样的,可以省略掉中间部分!
2、case在做比较的时候是不带隐式转换的
3、default可以省略不写,但是不推荐,如果你不写,条件都不满足,则什么都不会执行
面试题:if vs switch的区别?谁好谁坏?
1、switch...case:优点:执行效率高,*速度比较快(他比较的时候,case做的不是范围查找而是等值比较)
缺点:必须要直到最后的结果是什么才可以使用switch case去判断!
2、if...else:优点:可以做范围判断
缺点:执行效率较慢,速度慢(做的范围判断)
三目运算:纯粹就是为了简化【简单的】分支结构
语法:
扩展:短路逻辑:条件&&(操作); === if...
条件?操作1:默认操作; === if...else...
条件1?操作1:条件2?操作2:默认操作; === if...else if...else
注意:
1、默认操作不能省略,省略了会报错
2、如果操作比较复杂,不能使用三目运算:【操作只能有一句话】、