Java 流程控制与循环结构笔记

发布时间:2026/7/26 19:27:39

Java 流程控制与循环结构笔记 一、JavaDoc 文档注释格式以/**开头*/结尾用于生成 API 文档。常用标签author作者version版本号since从哪个 JDK 版本开始支持param方法参数说明return方法返回值说明throws方法可能抛出的异常生成方式命令行javadoc -encoding UTF-8 -charset UTF-8 Doc.javaIDEA通过Tools → Generate JavaDoc可视化生成二、Scanner 输入对象next()方法必须读取到有效字符才结束输入自动忽略有效字符前的空白把有效字符后的空白作为分隔符 / 结束符无法获取带空格的字符串nextLine()方法以Enter为结束符返回回车前的所有字符可以获取包含空格的字符串三、流程控制选择结构1. if-else 双选择结构语法if (布尔表达式) { // 条件为 true 时执行 } else { // 条件为 false 时执行 }适用场景二选一的业务逻辑如 “成功 / 失败”2. switch-case 多选择结构语法switch (表达式) { case 值1: // 语句 break; // 可选防止 case 穿透 case 值2: // 语句 break; default: // 可选所有 case 都不匹配时执行 // 语句 }支持的变量类型基础类型byte、short、int、charJava SE 7新增支持String类型注意case标签必须是常量 / 字面量四、流程控制循环结构1. while 循环语法while (布尔表达式) { // 循环内容 }执行逻辑先判断条件再执行循环体注意条件为true时循环持续执行必须设计让条件失效的逻辑避免死循环示例计算12...1002. do...while 循环语法do { // 循环内容 } while (布尔表达式);执行逻辑先执行一次循环体再判断条件与 while 的核心区别while先判断后执行条件不满足则一次都不执行do...while先执行后判断至少执行一次3.for 循环核心特点最灵活、最高效的循环结构适合循环次数确定的场景所有循环都可以用while/do...while实现但for写法更简洁执行次数在循环开始前就已确定语法格式for (初始化; 布尔表达式; 更新) { // 循环体代码 }初始化声明循环变量并赋值只执行一次布尔表达式循环条件为true则执行循环体更新每次循环后更新循环变量如i、i--经典练习示例计算 0~100 奇数和与偶数和int oddSum 0, evenSum 0; for (int i 0; i 100; i) { if (i % 2 0) evenSum i; else oddSum i; }输出 1~1000 能被 5 整除的数每行 3 个int count 0; for (int i 1; i 1000; i) { if (i % 5 0) { System.out.print(i \t); count; if (count % 3 0) System.out.println(); } }打印九九乘法表嵌套循环经典案例for (int j 1; j 9; j) { // 控制行数 for (int i 1; i j; i) { // 控制每行的列数i j 避免重复 System.out.print(j * i (j*i) \t); } System.out.println(); // 每行结束换行 }4.break 与 continue1.break作用强行退出当前循环 /switch不执行循环中剩余语句场景满足某个条件时立即终止整个循环示例找到 100 以内第一个能被 7 整除的数后停止for (int i 1; i 100; i) { if (i % 7 0) { System.out.println(i); break; // 找到后直接退出循环 } }2. continue作用终止本次循环跳过循环体剩余语句直接进入下一次循环条件判断场景满足某个条件时跳过当前迭代继续下一次循环示例输出 1~10 中除了 5 以外的所有数for (int i 1; i 10; i) { if (i 5) continue; // 跳过 i5 的这次循环 System.out.println(i); }3. 关于 goto 关键字Java 中goto是保留字但未启用不推荐使用可以通过带标签的 break/continue实现类似 goto 的跳转效果标签必须放在循环之前用于在内层循环中直接跳出外层循环五、嵌套循环与图形打印核心思想外层循环控制行数内层循环控制每行的内容 / 列数常用于打印三角形、矩形、菱形等图形示例打印 5 行等腰三角形for (int i 1; i 5; i) { // 1. 打印前置空格控制缩进 for (int j 5; j i; j--) { System.out.print( ); } // 2. 打印左侧星号 for (int j 1; j i; j) { System.out.print(*); } // 3. 打印右侧星号形成等腰 for (int j 1; j i; j) { System.out.print(*); } System.out.println(); // 每行结束换行 }输出效果* *** ***** ******* *********六、循环结构对比循环类型语法结构执行顺序最少执行次数核心特点与适用场景while循环java while(布尔表达式){ //循环体 }先判断条件后执行循环体0 次循环次数不确定只关注条件是否成立适合 “当满足条件时持续执行” 的场景do...while循环java do{ //循环体 }while(布尔表达式);先执行循环体后判断条件1 次必须至少执行一次循环体适合 “先执行一次再判断是否继续” 的场景for循环java for(初始化; 布尔表达式; 更新){ //循环体 }先判断条件后执行循环体0 次循环次数在执行前就确定语法最简洁高效适合遍历数组、固定次数迭代等场景七、流程控制关键字对比关键字作用范围核心作用典型示例场景break循环语句 /switch语句强行终止整个循环 /switch跳出到循环 /switch 之外不再执行后续语句找到目标值后立即停止查找switch中防止 case 穿透continue仅循环语句终止本次循环跳过循环体剩余代码直接进入下一次循环条件判断过滤不需要处理的迭代如跳过偶数只处理奇数带标签的break嵌套循环直接跳出到标签所在的外层循环终止多层循环在内层循环中满足条件时直接终止整个嵌套循环带标签的continue嵌套循环跳转到标签所在的外层循环开始下一次外层循环迭代在内层循环中满足条件时跳过当前外层循环的剩余迭代进入下一轮外层循环八、补充说明for循环的灵活性初始化、条件、更新部分都可以为空如for(;;)等价于while(true)死循环但可读性会下降不推荐滥用。break与continue的本质区别break是 “结束整个循环”continue是 “跳过本次继续下一次”。goto关键字Java 中仅作为保留字未正式启用推荐使用带标签的break/continue替代其跳转功能。

相关新闻