选择结构
# 选择结构
# 1. 简介
程序结构有三种:顺序结构、选择结构、循环结构。选择结构(分支结构)根据条件进行判断,从而执行不同的操作,实际上就是条件判断。选择结构的类型主要包括:if
语句和 switch
语句。
# 2. 基本用法
# 2.1 if
语句
if
语句用于执行条件判断。根据条件的真假,决定是否执行相应的代码块。if
语句可以分为单分支结构、二分支结构、多分支结构和嵌套 if
结构。
语法:
if (条件1) {
// 代码块1
} else if (条件2) {
// 代码块2
} else if (条件3) {
// 代码块3
} else {
// 代码块n
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
示例:
var score = 85;
if (score >= 90) {
console.log("优秀");
} else if (score >= 80) {
console.log("良好");
} else if (score >= 70) {
console.log("中等");
} else if (score >= 60) {
console.log("及格");
} else {
console.log("不及格");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 2.2 switch
语句
switch
语句用于进行等值判断。根据表达式的值,执行对应的代码块。如果所有的 case
都不匹配,则执行 default
语句。
语法:
switch (表达式) { // 表达式为要判断的内容
case 常量1:
// 代码块1
break;
case 常量2:
// 代码块2
break;
// ...
default: // 当所有常量都无法匹配时会执行 default 语句
// 代码块n
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
示例:
var fruit = "apple";
switch (fruit) {
case "banana":
console.log("这是香蕉");
break;
case "apple":
console.log("这是苹果");
break;
case "orange":
console.log("这是橙子");
break;
default:
console.log("未知水果");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 3. if
和 switch
的区别
switch
结构:- 只能进行等值判断。
- 适用于多种情况都需要进行等值比较时。
- 可读性强,结构清晰,适合处理多重条件。
if
结构:- 没有限制,适合任意条件判断。
- 适合处理某个连续区间的判断。
- 灵活性强,可以处理更复杂的逻辑。
# 4. 示例代码
以下是综合示例,演示了 if
和 switch
语句的使用:
// 使用 if 语句判断分数等级
var score = 85;
if (score >= 90) {
console.log("优秀");
} else if (score >= 80) {
console.log("良好");
} else if (score >= 70) {
console.log("中等");
} else if (score >= 60) {
console.log("及格");
} else {
console.log("不及格");
}
// 使用 switch 语句判断水果类型
var fruit = "apple";
switch (fruit) {
case "banana":
console.log("这是香蕉");
break;
case "apple":
console.log("这是苹果");
break;
case "orange":
console.log("这是橙子");
break;
default:
console.log("未知水果");
}
// 复杂的条件判断使用 if 语句
var age = 25;
var isStudent = false;
if (age < 18) {
console.log("未成年");
} else if (age >= 18 && age <= 25) {
if (isStudent) {
console.log("大学生");
} else {
console.log("年轻人");
}
} else {
console.log("成年人");
}
// 等值判断使用 switch 语句
var day = 3;
switch (day) {
case 1:
console.log("星期一");
break;
case 2:
console.log("星期二");
break;
case 3:
console.log("星期三");
break;
case 4:
console.log("星期四");
break;
case 5:
console.log("星期五");
break;
case 6:
console.log("星期六");
break;
case 7:
console.log("星期天");
break;
default:
console.log("未知日期");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08