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

Java流程控制:从条件判断到循环遍历

Java 流程控制:从条件判断到循环遍历(核心总结 + 实战要点)

Java 的流程控制语句主要分为三大类:

  1. 条件判断(选择结构)
  2. 循环结构(重复执行)
  3. 跳转语句(控制流程走向)

下面按重要程度和使用频率逐一讲解,附带常见误区和最佳实践。

一、条件判断(选择结构)

1. if 语句(最常用)
// 基本形式if(条件){// 条件为 true 时执行}// 带 elseif(条件){// true}else{// false}// 多分支if(条件1){// ...}elseif(条件2){// ...}elseif(条件3){// ...}else{// 都不满足}

注意事项

  • 条件必须是boolean类型(不能写if (a = 5)
  • 大括号{}强烈建议始终写上,即使只有一行代码(防止后续维护出错)

经典错误示例(新手高频坑):

intscore=85;if(score>=90)System.out.println("优秀");System.out.println("恭喜!");// 这行无条件执行!!!

正确写法:加{}或写成一行

2. switch 语句(多分支选择)

JDK 早期版本(经典写法)

intday=3;switch(day){case1:System.out.println("星期一");break;case2:System.out.println("星期二");break;default:System.out.println("其他");break;}

JDK 12+ 增强版(推荐使用)→ switch 表达式(更简洁)

Stringresult=switch(day){case1,2,3,4,5->"工作日";case6,7->"周末";default->"非法输入";};

switch 表达式特点

  • 使用->(箭头语法)
  • 自动结束(不需要 break)
  • 可以直接赋值给变量
  • 支持yield返回值(更复杂情况)
Stringdesc=switch(score/10){case10,9->"优秀";case8->"良好";case7->"中等";default->{yield"不及格";// 多语句时用 yield}};

二、循环结构(重复执行)

1. while 循环(先判断后执行)
inti=1;while(i<=10){System.out.println(i);i++;}

适用场景:不知道要循环多少次(比如读文件、等待输入)

2. do-while 循环(先执行后判断)
inti=1;do{System.out.println(i);i++;}while(i<=10);

特点至少执行一次(即使条件一开始就不成立)

经典使用场景:菜单选择系统(先显示菜单再判断用户输入)

3. for 循环(最常用,结构最清晰)

传统 for 循环

for(inti=0;i<10;i++){System.out.println(i);}

增强 for 循环(for-each)—— 遍历集合或数组首选

int[]arr={10,20,30,40};for(intnum:arr){System.out.println(num);}List<String>names=Arrays.asList("张三","李四","王五");for(Stringname:names){System.out.println(name);}

for 循环的几种常见写法对比

写法适用场景可否修改循环变量推荐指数
for (int i = 0; i < n; i++)需要索引、计数、步长控制可以★★★★★
for (int i = n-1; i >= 0; i--)逆序遍历可以★★★★☆
for (元素 : 集合/数组)只读遍历,不需要索引不能修改索引★★★★★
for(;;)死循环(配合 break 使用)★★★☆☆

三、跳转语句(改变正常执行流程)

语句作用常用场景注意事项
break跳出当前循环(单层)提前结束循环可配合标签跳出多层循环
continue跳过本次循环,进入下一次循环满足条件时跳过本次剩余代码只影响当前循环层
return结束整个方法,返回结果(或无返回)方法提前返回在循环中使用会直接结束方法

带标签的 break / continue(少用,但能解决嵌套循环问题)

outer:for(inti=1;i<=5;i++){for(intj=1;j<=5;j++){if(j==3){breakouter;// 直接跳出两层循环// continue outer; // 跳到外层循环下一轮}System.out.println(i+"-"+j);}}

四、常见面试 / 易错点速记

  1. if后面不要写分号;
    if (a > b); { ... }→ 大括号内容无条件执行

  2. switch 漏写 break →case 穿透(有时故意用,有时是 Bug)

  3. for 循环中修改集合(add/remove) →ConcurrentModificationException

    正确做法

    • 用迭代器删除:iterator.remove()
    • 收集要删除的元素后统一删除
    • for (int i = list.size()-1; i >= 0; i--)逆序删除
  4. while(true) 死循环忘记 break

  5. 增强 for 循环中不能修改集合结构

五、快速练习题(建议动手写)

  1. 用 switch 表达式实现输入 1~12 返回对应月份的英文
  2. 打印 1~100 内所有 3 的倍数或 5 的倍数(用 continue 跳过不符合的)
  3. 用嵌套循环打印 9×9 乘法表
  4. 统计字符串中每个字符出现的次数(用数组或 HashMap)
  5. 求 1~1000 内所有“水仙花数”(三位数,每位数字立方和等于本身)

如果你想针对某个语句深入讲解(比如 switch 表达式的所有用法、for 循环的性能细节、多层循环的优化等),或者需要某道题的参考答案,可以直接告诉我,我继续展开。

http://www.jsqmd.com/news/368881/

相关文章:

  • 【Java】深入理解Java语言的重要概念
  • 在kylin中用docker安装python 3.14.3版并安装软件包
  • 2026 中山英语雅思培训教育机构推荐;雅思培训课程中心权威口碑榜单 - 苏木2025
  • 2026 上海英语雅思培训教育机构推荐,雅思培训课程中心权威口碑榜单 - 苏木2025
  • 【重磅】专业的深圳小红书广告代理推荐 - 服务品牌热点
  • 技术演进中的开发沉思-360:happens-before 规则(下)
  • 【重磅】评价高的深圳小红书广告代理排名前十 - 服务品牌热点
  • 电子世界的奇妙冒险:06 场效应管(MOSFET):现代电子的“新宠”
  • Excel中三种素材匹配方法
  • 2026年2月洗地机产品推荐:基于清洁效能与用户体验维度的深度盘点 - 十大品牌推荐
  • 洗地机哪个型号值得买?2026年洗地机产品推荐与排名,解决清洁效率痛点 - 十大品牌推荐
  • 2026优质传感器连接器厂家盘点汇总 - 栗子测评
  • 洗地机清洁效果如何保障?2026年洗地机产品推荐与评测,直击水渍与操控不便痛点 - 十大品牌推荐
  • 【YOLOv10多模态涨点改进】独家创新首发| TGRS 2025 | 引入UMIS-YOLO中的RFF残差特征融合模块,通过残差连接和多尺度特征融合,优化了目标边界的精确度,适合实例分割、小目标检测
  • UJC日报043.宁波二中生存指北高三下篇
  • Test - 1 20260204
  • 【YOLOv12多模态涨点改进】独家创新首发 | TGRS 2025 | 引入CDFIM跨模态差异特征交互模块,通过差异特征提取和融合增强机制,减少了冗余信息,显著提升了小目标的检测精度,高效涨点改进
  • 完整教程:Spring Cloud gateway 路由规则
  • Test - 2 20260211
  • 【YOLOv12多模态涨点改进】独家创新首发| TGRS 2025 | 引入CGSAFusion跨模态门控注意力融合模块,通过自注意力机制 和 门控融合提升多模态信息融合,助力红外与可见光检测高效涨点
  • 洗地机产品哪个性价比高?2026年综合推荐与评价,解决水渍残留核心痛点 - 十大品牌推荐
  • 【YOLOv10多模态涨点改进】独家创新首发| TGRS 2025 | 引入CGSAFusion跨模态门控注意力融合模块,通过自注意力机制 和 门控融合提升多模态信息融合,助力红外与可见光检测高效涨点
  • 【YOLOv10多模态涨点改进】独家创新首发 | TGRS 2025 | 引入CDFIM跨模态差异特征交互模块,通过差异特征提取和融合增强机制,减少了冗余信息,显著提升了小目标的检测精度,高效涨点改进
  • 超越ChatGPT!一文读懂如何用LoRA高效微调打造专属行业大模型
  • PyTorch模型定义:从子类化到动态计算图的深度探索
  • 【YOLOv10多模态涨点改进】独家创新首发 | TGRS 2025 | 引入FDFEF频域特征增强融合模块,通过减少背景噪声和提高目标特征的可区分性,适用水下遥感图像实例分割、小目标检测任务
  • 【YOLOv8多模态涨点改进】独家创新首发 | TGRS 2025 | 引入CGSAFusion跨模态门控注意力融合模块,通过自注意力机制 和 门控融合提升多模态信息融合,助力红外与可见光检测高效涨点
  • Qwen-Image-2.0(Qwen Image 2)图片模型:长文本排版 + 2K 清晰度 + 生图/改图一体
  • 【YOLOv8多模态涨点改进】独家创新首发 | TGRS 2025 | 引入FDFEF频域特征增强融合模块,通过减少背景噪声和提高目标特征的可区分性,适用水下遥感图像实例分割、小目标检测任务
  • 留学生求职机构哪家强?2026年中国留学生求职机构推荐与评价,直击内推与成果痛点 - 十大品牌推荐