当前位置: 首页 > news >正文

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

一、JavaDoc 文档注释

  • 格式:以/**开头,*/结尾,用于生成 API 文档。
  • 常用标签
    • @author:作者
    • @version:版本号
    • @since:从哪个 JDK 版本开始支持
    • @param:方法参数说明
    • @return:方法返回值说明
    • @throws:方法可能抛出的异常
  • 生成方式
    • 命令行:javadoc -encoding UTF-8 -charset UTF-8 Doc.java
    • IDEA:通过Tools → Generate JavaDoc可视化生成

二、Scanner 输入对象

next()方法

  1. 必须读取到有效字符才结束输入
  2. 自动忽略有效字符前的空白
  3. 把有效字符后的空白作为分隔符 / 结束符
  4. 无法获取带空格的字符串

nextLine()方法

  1. Enter为结束符,返回回车前的所有字符
  2. 可以获取包含空格的字符串

三、流程控制:选择结构

1. if-else 双选择结构

  • 语法
    if (布尔表达式) { // 条件为 true 时执行 } else { // 条件为 false 时执行 }
  • 适用场景:二选一的业务逻辑(如 “成功 / 失败”)

2. switch-case 多选择结构

  • 语法
    switch (表达式) { case 值1: // 语句 break; // 可选,防止 case 穿透 case 值2: // 语句 break; default: // 可选,所有 case 都不匹配时执行 // 语句 }
  • 支持的变量类型
    • 基础类型:byteshortintchar
    • Java SE 7+:新增支持String类型
  • 注意case标签必须是常量 / 字面量

四、流程控制:循环结构

1. while 循环

  • 语法
    while (布尔表达式) { // 循环内容 }
  • 执行逻辑:先判断条件,再执行循环体
  • 注意
    • 条件为true时循环持续执行
    • 必须设计让条件失效的逻辑,避免死循环
    • 示例:计算1+2+...+100

2. do...while 循环

  • 语法
    do { // 循环内容 } while (布尔表达式);
  • 执行逻辑:先执行一次循环体,再判断条件
  • 与 while 的核心区别
    • while:先判断后执行,条件不满足则一次都不执行
    • do...while:先执行后判断,至少执行一次

3.for 循环

核心特点

  • 最灵活、最高效的循环结构,适合循环次数确定的场景
  • 所有循环都可以用while/do...while实现,但for写法更简洁
  • 执行次数在循环开始前就已确定

语法格式

for (初始化; 布尔表达式; 更新) { // 循环体代码 }
  • 初始化:声明循环变量并赋值(只执行一次)
  • 布尔表达式:循环条件,为true则执行循环体
  • 更新:每次循环后更新循环变量(如i++i--

经典练习示例

  1. 计算 0~100 奇数和与偶数和
    int oddSum = 0, evenSum = 0; for (int i = 0; i <= 100; i++) { if (i % 2 == 0) evenSum += i; else oddSum += i; }
  2. 输出 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(); } }
  3. 打印九九乘法表(嵌套循环经典案例)
    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 与 continue

1.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; // 跳过 i=5 的这次循环 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)死循环),但可读性会下降,不推荐滥用。
  • breakcontinue的本质区别break是 “结束整个循环”,continue是 “跳过本次,继续下一次”。
  • goto关键字:Java 中仅作为保留字,未正式启用,推荐使用带标签的break/continue替代其跳转功能。
http://www.jsqmd.com/news/511931/

相关文章:

  • 2026年精益管理咨询公司推荐:制造企业降本增效实战派与系统化解决方案深度解析 - 十大品牌推荐
  • Odoo 19 库存模块之期初库存导入概述
  • 全球主流军衔的等级系统
  • ABAQUS模拟:盾构隧道下穿既有隧道,涉及盾壳、注浆层、注浆压力与衬砌
  • 遥感图像处理:DDColor在卫星影像中的应用
  • 第一章:SRv6简介
  • 2026年企业办公云盘哪家强?盘点11款主流工作云盘(附深度测评)
  • 威纶通触摸屏模板,直接打开就可以用,可根据自己要求修改, 威纶通触摸屏,全部图库
  • Dify生产环境Token成本黑洞排查实录(附官方未公开的token_usage_hook调试接口与离线审计工具)
  • RevokeMsgPatcher终极教程:3分钟破解微信QQ消息撤回限制
  • Claude 4 vs GPT-4o:AI辅助开发场景下的技术选型与实战指南
  • 赶考小状元学习机为什么比科大讯飞学习机更受欢迎:从测评到管控的全面胜出
  • 精益管理咨询公司如何选不踩坑?2026年靠谱推荐聚焦生产制造领域且实战派机构 - 十大品牌推荐
  • 驱动一个AIP650、数码管、按键、LED、红外、蜂鸣器控制板
  • 极致的效率等于极致的脆弱
  • 企业云盘哪个好用?2026年18款网盘全面测评
  • Linux 日志审计实战:快速发现入侵痕迹,打造服务器监控体系本文接上一篇:Linux 系统服务安全:从入门到实战,守护你的服务器安全
  • 昆仑通态、欧姆龙温控器与台达变频器联合通讯那些事儿
  • 智能合同系统,让合同管理从此告别繁琐
  • 基于蒙特卡洛抽样的大规模电动汽车充电负荷计算方法
  • 2026油罐车市场:质量佳的厂家及产品解析,目前油罐车技术引领与行业解决方案解析 - 品牌推荐师
  • 2026年上海离婚律师推荐:协议离婚谈判情绪疏导与法律支持优选盘点 - 品牌推荐
  • 实验报告-线性表
  • 太原售后完善的汽车贴膜公司有哪些,哪家费用低? - 工业品牌热点
  • 2026年精益管理咨询公司推荐:战略规划到落地执行全链条咨询服务对比 - 十大品牌推荐
  • 老宅清仓腾空间,怀旧老物别乱堆!北京记录者商行全品类上门收 - 品牌排行榜单
  • Hot100-验证二叉搜索树
  • 2026年贵阳地区国际认可的西点学校推荐,教学特色解读 - 工业设备
  • 2026年中国人力资源管理咨询公司推荐:长期陪伴式咨询与实效落地热门机构解析 - 十大品牌推荐
  • 2026年广州讯灵AI服务哪家好,深聊南方网通讯灵AI优势 - 工业品网