1.if-else语句: if-else 语句提供了最基本的条件判断功能。它的语法结构如下:
if (condition) {
// code block to be executed if condition is true
} else {
// code block to be executed if condition is false
}
优点:
- 灵活性:if-else 可以进行更复杂的条件判断,包括使用逻辑运算符组合多个条件。
- 可读性:if-else 语句可以清晰地表达出具体的条件和相应的处理逻辑。
缺点:
- 嵌套结构:如果有多个条件需要判断,就需要嵌套多个 if-else 语句,使代码变得复杂。
- 可能出现重复代码:在多个条件分支中,可能会出现重复的代码,导致代码冗余。
使用场景:
- 适用于处理较为简单的条件判断,判断逻辑较为简单明确的场景。
- 对于只有两种结果的情况,例如布尔类型的判断,可以使用 if-else。
2.switch-case语句: switch-case 语句提供了一种通过匹配不同的值来执行不同代码分支的方式。它的语法结构如下:
switch (expression) {
case value1:
// code block to be executed if expression matches value1
break;
case value2:
// code block to be executed if expression matches value2
break;
...
default:
// code block to be executed if no case matches
}
优点:
- 结构清晰:switch-case 语句将条件判断的分支组织在一起,易于阅读和理解。
- 执行效率较高:由于 switch-case 语句使用了跳转表进行值匹配,执行速度相对较快。
缺点:
- 只能匹配值而不是条件:switch-case 只能根据具体的值进行匹配,无法进行复杂的条件判断。
- 每个 case 需要显式地添加 break 来终止分支,否则会出现“穿透”现象导致多个分支被执行。
使用场景:
- 当有多个可能的值需要匹配时,可以使用 switch-case 来减少冗余的 if-else 嵌套。
- 适用于离散的值判断,例如处理枚举类型或限定范围的输入值。