逻辑分支

单分支

语法:

if (条件表达式) {
    当条件表达式的结果为 true 的时候要执行的代码
}

双分支

语法:

if (条件表达式) {
    当条件表示式的结果为 true 的时候要执行的代码
} else {
    当条件表达式的结果为 false 的时候要执行的代码   
}

多分支

语法:

if (条件表达式1) {
    当条件表达式1的结果为 true 的时候,要执行的代码
} else if (条件表达式2) {
    当条件表达式2的结果为 true 的时候,要执行的代码
} else if (条件表达式3) {
    当条件表达式3的结果为 true 的时候,要执行的代码
}
.  .  .

} else{

# 多分支可以有若干个else ifelse根据需要可以有也可以没有

分支结构的简写方式

如果 单分支 或 双分支 以及 多分支 的大括号中只有一行代码的时候,大括号可以省略。

分支结构的嵌套

例:定义三个变量,求出三个值中的最大值。

switch多路判断

语法:

switch (要判断的变量) {
    case 值1:
        执行的代码块
        break;
    case 值2:
        执行的代码块
        break;
    .  .  .
    default:
        执行代码块
}

使用:

    1. break 表示当前分支执行后就结束 switch 的运行,后续代码不再运行
    2. default 可以理解为判断语句中的 else
    3. case 理解为 if 来判断这个变量是否全等于某个值

注意:使用多路判断的时候,能使用 switch 进行判断,就尽量使用 switch,因为 switch 的判断都是确定的值,条件比较简单,所以效率高。

使用场景:

    • 如果判断的条件比较复杂,使用 if

    • 条件是确定的值,分两种情况:

      • 如果判断的分支小于等于3个,就使用 if,这时候的效率和 switch 一样

      • 如果大于3个,就使用 switch

    • switch 判断使用的是 全等于(===)

switch 穿透写法

如果 case 后面不写 break,那当前 case 执行后,会继续执行后面的 case 中的代码

输出1~5:

day 的值为 2 的时候,不会执行后面的代码,当 day 的值为 3 的时候,执行完 3 的代码,还会执行 4 的代码,因为 3 的代码后面没有 break

这时候可以利用 switch 的这个特性,简写一些代码:

输入一个月份,判断并输出这个月有多少天?

if条件中的细节

if 条件的结果是布尔值,所以可以将 布尔值 当做条件放 if  的小括号中

如果将别的 非布尔值 的表达式或数据放入条件小括号中,会发生隐形类型转换

三元运算

if 双分支有一种简写方式:

条件 ? 条件成立时运行的代码段 : 条件不成立时运行的代码段;

这种 仅能表达简单双分支  的方式叫做三元运算,也叫做三元表达式。

三元运算有个特点:可以将整个表达式当做一个值,可以赋值给一个变量,也可以输出

 

 

posted @ 2022-03-11 20:17  速来搬砖  阅读(62)  评论(0编辑  收藏  举报