C++知识点1:多个if else if,能否替换成switch

switch语句主要适用于有一个变量需要与多个可能的值进行比较时。

需要满足以下条件:

1、变量:你需要有一个可以在多个情况下进行比较的变量。

2、离散值:每个 if-else if 分支中的条件都应该是一些离散的值,而不是范围或复杂的条件。

3、等值比较:switch 语句主要用于执行等值比较,即每个分支与变量的值进行比较。

代码对比如下

多个嵌套的 if-else if 结构转换成 switch 语句

int number = 2;

if (number == 1) {
    // Do something for case 1
} else if (number == 2) {
    // Do something for case 2
} else if (number == 3) {
    // Do something for case 3
} else {
    // Default case
}



int number = 2;

switch (number) {
    case 1:
        // Do something for case 1
        break;
    case 2:
        // Do something for case 2
        break;
    case 3:
        // Do something for case 3
        break;
    default:
        // Default case
        break;
}

需要注意的是,switch 语句要求每个 case 后面都要有一个 break 语句,以防止执行流程继续穿过其他分支。

----------------------------------------------------------------------------------


switch 语句适用于对一个变量的等值比较,如果条件涉及到两个变量的比较,那么通常不适合使用 switch 语句。switch 语句只能用于比较一个单一变量与多个可能的值。

扫描二维码关注公众号,回复: 17001041 查看本文章

如果你需要比较两个变量的情况,仍然需要使用 if-else if 结构。

int x = 5;
int y = 3;

if (x == 1 && y == 2) {
    // Do something for case (x = 1, y = 2)
} else if (x == 3 && y == 4) {
    // Do something for case (x = 3, y = 4)
} else if (x == 5 && y == 6) {
    // Do something for case (x = 5, y = 6)
} else {
    // Default case
}

总之,如果需要比较多个变量或使用复杂的条件,if-else if 结构可能更合适,而 switch 语句适用于等值比较,并且只适用于单一变量。
 

猜你喜欢

转载自blog.csdn.net/pingchangxin_6/article/details/132298404