1. 什么是分支结构—— 给程序装上“大脑”想象一下你早上出门前会做什么是不是会先看看窗外如果下雨了你就带上伞如果没下雨你就不带。这个“如果…就…”的思考过程就是条件判断。在编程里我们把这种“根据不同情况执行不同操作”的结构叫做分支结构。它就像是给程序装上了“大脑”让程序能根据我们设定的条件做出聪明的选择。今天我们只学习分支结构中最基础、最简单的一种单 if 分支。它只关心一种情况“如果条件成立我就做某件事”。至于“条件不成立怎么办”它不管直接跳过。这就像你只关心“如果下雨就带伞”不下雨你什么都不用做直接出门。2. 单 if 分支的“语法公式”在 Java 中单 if 分支的写法就像一个固定的“公式”if(条件){// 条件成立时要执行的代码}我们来拆解一下这个“公式”if关键字意思是“如果”。告诉程序“我要开始做条件判断了”。(条件)一对小括号里面放的是一个布尔表达式别怕大白话就是一个结果是“真”或“假”的式子。比如score 60分数大于等于60吗isRaining true正在下雨吗。{ }一对大括号里面包裹着条件成立时要执行的所有代码。这个大括号就像一个“保护罩”把要执行的代码包起来。执行逻辑通俗版程序会先看看小括号里的“条件”是“真”还是“假”。条件为真程序就会走进大括号{ }里面把里面的代码按顺序执行一遍。条件为假程序会直接跳过整个大括号{ }就像没看见它一样继续执行后面的代码。下面用流程图直观展示单 if 分支的执行流程条件为真 (true)条件为假 (false)开始执行条件判断if (条件)执行 if 代码块// 条件成立时的代码继续执行后续代码跳过 if 代码块程序继续执行流程图解读开始执行→ 程序运行到 if 语句条件判断→ 计算括号内的条件表达式得到 true 或 false分支选择如果为true进入执行 if 代码块路径执行大括号内的所有代码如果为false进入跳过 if 代码块路径直接跳过大括号汇合点→ 无论走哪条路径最后都会继续执行后续代码程序继续→ 执行 if 语句之后的代码3. 生活场景示例 可运行代码光说不练假把式我们来看两个生活中的例子并写出完整的 Java 程序。示例一判断考试是否及格场景老师批改试卷分数大于等于60分才算及格及格了就在成绩单上打印“恭喜及格”。publicclassScoreCheck{publicstaticvoidmain(String[]args){intscore75;// 假设这次考了75分System.out.println(你的分数是score);// 单 if 判断如果分数 60就打印恭喜信息if(score60){System.out.println(恭喜及格);}System.out.println(成绩单处理完毕。);}}运行结果你的分数是75 恭喜及格 成绩单处理完毕。如果我们把score改成55再次运行你的分数是55 成绩单处理完毕。看因为55 60这个条件是“假”的所以if大括号里的System.out.println(恭喜及格);被直接跳过了程序只执行了if前后的打印语句。示例二判断出门是否要带伞场景用一个布尔变量isRaining表示是否在下雨如果为真就提示带伞。publicclassWeatherCheck{publicstaticvoidmain(String[]args){booleanisRainingtrue;// true 代表正在下雨System.out.println(准备出门...);// 单 if 判断如果正在下雨就提示带伞if(isRaining){System.out.println(外面正在下雨请带伞);}System.out.println(出门啦);}}运行结果isRaining true时准备出门... 外面正在下雨请带伞 出门啦如果isRaining false结果则是准备出门... 出门啦程序跳过了带伞的提示。4. 新手专属“避坑指南”刚开始写if语句几乎每个人都会踩下面这几个坑。别担心看完你就免疫了坑一if括号后面误加分号;错误代码if(score60);{// 注意这里有个多余的分号System.out.println(恭喜及格);}错误效果这个分号;代表一个空语句。程序会理解成“如果分数及格就执行一个空操作分号”。然后无论条件是否成立后面大括号里的打印语句都会被执行这完全违背了我们的初衷。正确写法if那一行的末尾绝对不能有分号if(score60){// 括号后面直接接大括号System.out.println(恭喜及格);}坑二赋值与判断傻傻分不清这是最经典的错误没有之一是赋值运算符意思是“把右边的值交给左边的变量”。才是比较运算符意思是“判断左右两边是否相等”。错误代码intnumber10;if(number5){// 错误这里本意是想判断 number 是否等于5System.out.println(number 是 5);}编译器会报错因为number 5这个式子的结果是5一个整数而if的条件必须是一个布尔值true或false。Java 编译器很严格不允许这样写。正确写法intnumber10;if(number5){// 使用两个等号 进行比较System.out.println(number 是 5);}坑三遗漏大括号{}导致逻辑混乱错误代码intscore55;if(score60)System.out.println(恭喜及格);// 只有这一行属于ifSystem.out.println(奖励一朵小红花);// 这一行其实不属于if错误效果当if后面只有一条语句时Java 允许你不写大括号{}。但是if的控制范围只到第一个分号结束。所以上面的代码等价于if(score60){System.out.println(恭喜及格);}System.out.println(奖励一朵小红花);// 这行无论如何都会执行即使没及格也会打印“奖励一朵小红花”这逻辑就乱了。最佳实践强烈建议无论if后面有几行代码都老老实实加上大括号{}intscore55;if(score60){System.out.println(恭喜及格);System.out.println(奖励一朵小红花);// 这行现在也受if控制了}这样代码块清晰永远不会出错。5. 总结什么时候用单 if 分支记住一个核心原则当你只需要关心“如果条件满足就做某事”而没有“否则else要做什么”的时候就用单if。典型适用场景安全检查如果用户未登录就跳转到登录页面。数据验证如果输入为空就提示用户重新输入。状态触发如果游戏角色生命值低于10%就播放警告音效。权限判断如果是管理员就显示“删除”按钮。它就像是一个“开关”条件成立就“打开”执行一段代码不成立就“关闭”跳过。简单、直接、有效。恭喜你已经掌握了编程中第一个能让你程序“思考”的工具。下次我们再学习当条件不成立时该用if-else来做什么。参考答案publicclassTemperatureCheck{publicstaticvoidmain(String[]args){// 定义温度变量inttemperature28;// 可以修改这个值测试不同情况// 使用单 if 分支判断温度是否高于30度if(temperature30){System.out.println(天气炎热注意防暑);}// 输出当前温度值System.out.println(当前温度temperature°C);}}运行结果示例当 temperature 28 时当前温度28°C条件temperature 30不成立所以没有打印天气炎热注意防暑当 temperature 35 时天气炎热注意防暑 当前温度35°C条件temperature 30成立所以先打印了警告信息代码说明第3行定义变量temperature并赋初值第6-8行使用if (temperature 30)进行条件判断第11行无论条件是否成立都会执行这行显示当前温度值你可以尝试修改第3行的温度值观察不同的输出结果小练习尝试自己写一个程序定义一个变量temperature表示温度如果温度高于30度就打印“天气炎热注意防暑”。看看你能不能独立写出来并运行成功。6. 进阶预告if-else 分支恭喜你掌握了单if分支你已经学会了让程序在条件成立时执行特定操作。但现实世界往往更复杂我们不仅需要处理“如果…就…”还需要处理“否则…就…”。if-else 结构二选一的决策if-else是单if的自然延伸它让程序能够在两种互斥的情况中做出选择if(条件){// 条件成立时执行的代码}else{// 条件不成立时执行的代码}与单 if 的核心区别结构执行逻辑适用场景单 if条件成立 → 执行代码块条件不成立 → 跳过代码块只需要处理“成立”的情况if-else条件成立 → 执行 if 代码块条件不成立 → 执行 else 代码块两种情况都需要处理生活场景示例根据分数判断是否及格假设我们要判断考试成绩是否及格60分及以上为及格publicclassScoreCheck{publicstaticvoidmain(String[]args){intscore75;// 可以修改这个分数测试if(score60){System.out.println(恭喜成绩及格);}else{System.out.println(很遗憾成绩不及格需要继续努力。);}}}运行结果当score 75时输出恭喜成绩及格当score 55时输出很遗憾成绩不及格需要继续努力。为什么需要 if-else单if只能处理“成立”的情况但很多时候我们需要对“不成立”的情况也做出响应登录验证密码正确 → 进入系统密码错误 → 提示错误年龄判断满18岁 → 允许访问未满18岁 → 限制访问成绩评定及格 → 显示通过不及格 → 显示重修掌握了 if-else你的程序就能做出更智能的“二选一”决策让代码逻辑更加完整和健壮