一、什么是程序控制语句程序默认是从上到下逐行执行的。控制语句的作用就是改变代码执行顺序实现判断、选择、重复、跳转是所有算法、逻辑功能的基础。Java 控制语句分为三大类顺序结构默认执行方式分支结构选择结构if、if-else、else if、switch循环结构for、while、do-while跳转语句break、continue、return二、顺序结构最基础特点代码从上往下、依次执行没有判断、没有跳转、没有重复示例publicclassTest{publicstaticvoidmain(String[]args){System.out.println(第一步);System.out.println(第二步);System.out.println(第三步);}}所有代码默认都是顺序结构其他语句都是在顺序结构上做“改变”。三、分支选择结构重点分支语句满足条件才执行、不同条件执行不同代码。下面是 if-else 分支结构的执行流程图直观展示了不同分支的执行流程与控制流走向truefalse开始执行条件判断执行 if 代码块if 分支结束执行 else 代码块else 分支结束继续执行后续代码结束分支语句满足条件才执行、不同条件执行不同代码。1. if 单分支语法if(布尔条件){// 满足条件执行的代码}执行规则条件为true→ 执行条件为false→ 不执行示例判断是否成年intage19;if(age18){System.out.println(已成年);}2. if-else 双分支二选一语法if(条件){// 成立执行}else{// 不成立执行}一定执行其中一块互斥示例intscore59;if(score60){System.out.println(及格);}else{System.out.println(不及格);}3. else if 多分支多选一适合多个区间判断。语法if(条件1){// ...}elseif(条件2){// ...}elseif(条件3){// ...}else{// ...}规则从上往下匹配匹配成功一个后面全部不执行示例成绩等级intscore88;if(score90){System.out.println(优秀);}elseif(score80){System.out.println(良好);}elseif(score60){System.out.println(及格);}else{System.out.println(不及格);}4. switch 分支固定值匹配适合固定整数、字符、字符串匹配不适合区间判断。支持类型byte、short、int、char、String、枚举标准语法带 breakintnum2;switch(num){case1:System.out.println(星期一);break;case2:System.out.println(星期二);break;default:System.out.println(未知);}重点穿透现象考试必考不写break会穿透继续执行下一个case。intn1;switch(n){case1:System.out.println(1);case2:System.out.println(2);default:System.out.println(其他);}输出1 2 其他开发中switch每个case必须加break。四、循环结构核心重点循环作用重复执行一段代码。下面是 for/while/do-while 循环结构的执行流程图直观展示了不同循环的执行流程与控制流走向do-while 循环流程truefalse执行循环体条件判断退出循环while 循环流程truefalse条件判断执行循环体退出循环for 循环流程truefalse初始化条件判断执行循环体更新表达式退出循环开始继续后续代码Java 三种循环for最常用、次数明确while条件明确、次数不确定do-while至少执行一次循环作用重复执行一段代码。Java 三种循环for最常用、次数明确while条件明确、次数不确定do-while至少执行一次1. for 循环万能循环语法for(初始化;条件判断;更新){// 循环体}执行顺序初始化 → 条件true→ 循环体 → 更新 → 条件……示例输出 1~10for(inti1;i10;i){System.out.println(i);}死循环写法for(;;){// ...}2. while 循环语法while(条件){// 循环体}特点先判断后执行条件不成立一次都不执行。示例1~5 输出inti1;while(i5){System.out.println(i);i;}3. do-while 循环语法do{// 循环体}while(条件);特点先执行一次再判断至少执行一次。对比for已知次数首选while未知次数、先判断do-while必须至少执行一次的场景五、循环跳转语句 break、continue1. break作用跳出当前循环 / 跳出switch。for(inti1;i10;i){if(i5){break;// 直接结束整个循环}System.out.println(i);}输出1 2 3 42. continue作用跳过本次继续下一次不结束循环。for(inti1;i5;i){if(i3){continue;}System.out.println(i);}输出1 2 4 5六、嵌套结构考试、作业高频if可以嵌套if循环可以嵌套循环。嵌套 for 经典案例九九乘法表结构for(inti1;i3;i){for(intj1;ji;j){System.out.print(*);}System.out.println();}完整九九乘法表 Java 程序publicclassMultiplicationTable{publicstaticvoidmain(String[]args){System.out.println(九九乘法表);System.out.println();// 外层循环控制行数1-9for(inti1;i9;i){// 内层循环控制每行的列数1-ifor(intj1;ji;j){// 格式化输出j × i 结果使用制表符对齐System.out.print(j×i(i*j)\t);}// 每行结束后换行System.out.println();}}}控制台输出结果九九乘法表 1×11 1×22 2×24 1×33 2×36 3×39 1×44 2×48 3×412 4×416 1×55 2×510 3×515 4×520 5×525 1×66 2×612 3×618 4×624 5×630 6×636 1×77 2×714 3×721 4×728 5×735 6×742 7×749 1×88 2×816 3×824 4×832 5×840 6×848 7×856 8×864 1×99 2×918 3×927 4×936 5×945 6×954 7×963 8×972 9×981程序说明三种循环嵌套使用对比循环类型特点适用场景注意事项for 循环1. 结构清晰初始化、条件、更新三部分集中2. 循环次数明确易于控制嵌套层数3. 循环变量作用域限定在循环内1. 已知循环次数的嵌套如九九乘法表、矩阵遍历2. 需要精确控制循环变量变化的场景3. 多层嵌套时结构清晰易读1. 注意循环变量的作用域避免内外层变量名冲突2. 嵌套层数不宜过多一般不超过3层3. 更新表达式要正确避免死循环while 循环1. 条件判断在前可能一次都不执行2. 适合条件复杂、循环次数不确定的场景3. 循环变量需要在循环外声明和更新1. 条件依赖外部状态变化的嵌套如文件读取、游戏循环2. 需要根据运行时条件动态决定是否继续嵌套循环3. 事件驱动型嵌套处理1. 务必在循环体内更新条件变量否则可能死循环2. 嵌套时条件判断要清晰避免逻辑混乱3. 注意条件变量的作用域和生命周期do-while 循环1. 先执行一次循环体再判断条件2. 至少执行一次适合必须先执行再判断的场景3. 条件判断在后与while相反1. 需要至少执行一次的菜单选择系统2. 用户输入验证的嵌套处理3. 必须先执行初始化再判断的嵌套场景1. 注意结尾的分号不能省略2. 嵌套时内层循环的条件可能依赖外层执行结果3. 确保循环体至少执行一次是必要的嵌套循环通用建议变量命名内外层循环变量使用不同名称如i、j、k性能优化尽量减少嵌套层数时间复杂度随嵌套层数指数增长代码可读性适当添加注释说明每层循环的作用边界检查确保每层循环的终止条件正确避免数组越界外层循环for (int i 1; i 9; i)控制乘法表的行数1-9内层循环for (int j 1; j i; j)控制每行的列数列数等于当前行数输出格式使用\t制表符对齐使乘法表排列整齐算法核心i * j计算乘积j × i (i * j)格式化输出这个程序可以直接复制到 Java IDE 中运行展示了嵌套 for 循环的经典应用。七、所有控制语句核心总结背诵版顺序结构从上到下默认执行分支结构if适合区间、范围判断switch适合固定值匹配必须注意break穿透循环结构for次数确定最常用while先判断后执行do-while先执行后判断至少一次跳转break结束整个循环continue结束本次循环八、常见易错点大一必踩坑if后面不要随便加分号if();会直接空执行循环内忘记i→ 死循环switch不写break→ 穿透错误continue、break只能控制当前所在最近一层循环do-while最后必须有分号