1.1-if单分支结构
-
1.if结构语法:
if(条件 true/false){ 条件成立时需要执行的代码 }
-
2.if结构补充说明:
-
1.大括号中可以是任何代码,不限数量
-
2.如果大括号中代码有且只有一行,则可以省略大括号。这种写法代码不规范,不是老司机的作风
-
-
3.注意点:小括号中的条件可以是哪些呢
-
(1)关系表达式:结果一定是布尔类型
-
(2)布尔类型的值:true和false
-
(3)其他表达式和值:都会先转换成布尔类型再判断真和假
-
==1.2-if-else双分支结构==
if(条件){
条件成立时需要执行的代码
}else{
条件不成立时需要执行的代码
}
1.if-esle结构语法:用于两种互斥的条件判断
例如:如果(if)我的钱超过100块就洗脚(也就是说钱>=100),否则(else)不洗脚(也就是说钱<100)
2.if-else结构注意点
if大括号中的代码与else大括号的代码只会执行一个,不会同时执行
if-else语句的作用主要就是为了提高代码的运行效率,虽然可以用两个if语句来代替if-else语句,但是两个if语句需要判断两次,而if-else只需要判断一次
1.3-if-else if-else多分支结构
-
1.if-else if-else结构语法:
if(条件1){
条件1成立时需要执行的代码
}else if(条件2){
条件2成立时需要执行的代码
}else if(条件3){
条件3成立时需要执行的代码
}else{
以上所有条件都不成立时需要执行的代码
}
2.注意点:
(1) if-else if -else结构中必须以if开头,中间的else if可以是多个,末尾的esle可以省略(一般都不会省略)
(2)if-else if-else语句中所有的大括号中的代码只会执行其中一个,不会执行多个
1.7-三元表达式
-
1.运算符根据参与运算的值数量分为一元、二元、三元运算符
-
一元运算符:只能操作一个值 ++ -- !
-
二元运算符:操作两个值 1 + 1 1 > 0
-
三元运算符:操作三个值
-
-
2.三元运算符语法
-
三元运算符:
?:
-
三元表达式:
表达式?代码1:代码2
-
1.如果表达式成立则执行代码1,否则执行代码2
-
-
-
2.如果代码1或者代码2有运算结果则三元运算式的结果就是他们其中的一个
-
三元运算符做的事和if-else类似,只是代码更简洁
-
1.10-switch-case分支结构
-
1.语法
switch(表达式){
case 值1:
表达式的结果 === 值1,需要执行的代码
break;
case 值2:
表达式的结果 === 值2,需要执行的代码
break;
case 值3:
表达式的结果 === 值3,需要执行的代码
break;
.......
default:
表达式的结果和上面所有的case后面的值都不全等,则会执行这里的代码
break;
}
-
2.注意事项
-
1.表达式的结果要和值一定是全等的关系===
-
2.break作用:结束该switch语句,所以一般情况下要加上,如果不加上则会发生穿透
-
穿透:从上一个case代码快执行到下一个case代码快
-
break关键字的作用就是防止穿透
-
-
3.default语句可以写在任何地方,也可以省略,但是一般写在最后,这是一种代码规范
-
if 多分支和switch的区别
-
共同点
-
都能实现多分支选择, 多选1
-
大部分情况下可以互换
-
区别:
-
switch…case语句通常处理case为比较确定值的情况,而if…else…语句更加灵活,通常用于范围判断(大于,等于某个范围)。
-
switch 语句进行判断后直接执行到程序的语句,效率更高,而if…else语句有几种判断条件,就得判断多少次
-
switch 一定要注意 必须是 === 全等,一定注意 数据类型,同时注意break否则会有穿透效果
-
结论:
-
当分支比较少时,if…else语句执行效率高。
-
当分支比较多时,switch语句执行效率高,而且结构更清晰。
-
注意
1 用break语句可以使流程跳出switch语句体,也可以用break语句在循环结构终止本层循环体,从而提前结束本层循环
2 continue 不会打断当次循环执行,跳过本次循环,继续下一次循环