结论:if else 是程序里最基础的条件分支语句,作用是判断条件真假,条件成立就执行 if 里面代码,条件不成立就执行 else 里面代码,支持多分支 if else if 链式判断,几乎所有主流编程语言都有这套语法,逻辑核心就是根据布尔结果选择不同代码块执行。
一 基础语法结构
单分支 if
只有条件成立才执行代码,没有 else
if (条件) {
条件为true执行的代码
}
双分支 if else
条件二选一,二选一执行
if (条件) {
条件成立,执行这里
} else {
条件不成立,执行这里
}
多分支 if else if else
多个条件依次判断,从上到下匹配,命中第一个满足条件的分支之后,后面分支全部不再执行,最后的 else 是兜底分支
if (条件1) {
条件1成立执行
} else if (条件2) {
条件2成立执行
} else {
前面所有条件都不成立,执行兜底代码
}
二 执行原理
程序运行到 if 语句,首先计算括号里面表达式的值,结果只能是真或者假。
条件为真,进入 if 代码块;条件为假,跳过 if 代码块,进入 else 代码块。
多分支的时候是顺序匹配,只要某一个分支命中,整个 if else 结构就结束,不会继续往下判断后面条件,这点是重点,很多新手容易踩坑。
三 C 语言示例代码
include
int main(){
int score = 75;
if(score >= 90){
printf("优秀");
}else if(score >= 60){
printf("及格");
}else{
printf("不及格");
}
return 0;
}
运行结果:输出及格,因为 75 满足 score>=60 这个条件。
四 Python 示例代码
Python 没有大括号,依靠缩进区分代码块
score = 75
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")
注意 Python 里面多分支关键字是 elif,等价其他语言的 else if。
五 嵌套 if else
if 内部还可以再写 if else,就是嵌套判断,适合多层条件
if(外层条件){
if(内层条件){
内层成立代码
}else{
内层不成立代码
}
}else{
外层不成立代码
}
嵌套层级不要太深,层级太多可读性会很差,复杂场景优先考虑多分支或者 switch。
六 常见注意事项
1 条件表达式不要写成赋值号 =,要使用比较运算符 ==,很多新手把 if (a=1) 当成判断,实际是赋值,条件永远为真
2 大括号尽量不要省略,就算代码只有一行,保留大括号后续维护不容易出错
3 多分支判断顺序要合理,大范围条件不能写在前面,否则会提前命中,后面条件永远无法执行
4 else 是和最近的未配对 if 进行匹配,写嵌套的时候一定要注意配对关系
5 条件里面可以使用逻辑运算符 && 并且,|| 或者,! 取反,组合复合条件
七 和三元运算符区别
很多语言支持三元表达式,是 if else 的简写形式
变量 = 条件 ? 值1 : 值2
适合简单二选一赋值,但是逻辑复杂的时候,还是推荐写完整 if else 语句,可读性更好。
【常见问题】
问题 1 if else 语句的用法,为什么多分支后面条件永远不执行
回答 1 是判断顺序写反,大范围条件放在前面,程序命中第一个分支就停止判断,需要把更严格的小范围条件写在前面,修正 if else 语句的判断顺序。
问题 2 if else 语句的用法,else 可以单独写吗
回答 1 else 不能独立存在,必须配对对应的 if,不能单独写 else 代码块,这是 if else 语句语法硬性要求。
问题 3 if else 语句的用法,if 里面条件可以写多个判断吗
回答 1 可以,使用 && || 逻辑运算符组合复合条件,实现多个条件同时满足或者满足其一,属于 if else 语句常用写法。
问题 4 if else 语句的用法,嵌套 if else 层级太多怎么办
回答 1 优先改成 if else if 多分支链式结构,或者使用 switch,降低嵌套深度,提升 if else 语句代码可读性。
【免责申明】
本文为编程基础语法科普,不同编程语言在关键字、缩进、语法细节存在差异,实际开发请以对应语言官方语法规范为准。


