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

Java for 循环

Java for 循环专业详解

一、定义与定位

for是Java最常用的计数型循环,适用于循环次数明确、需要自增/自减控制变量的场景,结构紧凑,将循环初始化、循环条件、迭代更新三部分统一写在头部,可读性优于while

二、标准for循环完整语法

for(初始化表达式;循环条件;更新表达式){循环体;}

执行流程(固定顺序):

  1. 仅执行1次初始化表达式,定义循环控制变量;
  2. 判断循环条件,结果为true进入循环体;为false直接终止循环;
  3. 执行完循环体全部代码;
  4. 执行更新表达式(变量自增/自减);
  5. 回到第2步重复判断。

示例:输出1~10

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

三部分表达式灵活特性

  1. 初始化、更新可写多语句,用逗号分隔
for(inta=0,b=10;a<10;a++,b--){}
  1. 三部分均可省略,分号;不能丢,省略条件代表永久true(死循环)
// 死循环for(;;){}

三、增强for循环(for-each,遍历数组/集合专用)

语法

for(元素类型 临时变量:数组/集合){操作临时变量}

特点:无需下标,自动遍历全部元素,无法获取索引、不能直接修改原数组元素

int[]arr={1,2,3,4};for(intnum:arr){System.out.println(num);}

四、嵌套for循环

循环内部嵌套for,多用于二维数组、矩阵、图形打印;可配合标签break/continue跳出多层循环。

// 九九乘法表示例for(inti=1;i<=9;i++){for(intj=1;j<=i;j++){System.out.print(j+"*"+i+"="+i*j+"\t");}System.out.println();}

带标签跳出多层循环:

outer:for(inti=1;i<=5;i++){for(intj=1;j<=5;j++){if(j==3)breakouter;}}

五、循环控制关键字

  1. break:直接终止当前整个for循环;
  2. continue:结束本次迭代,执行更新表达式后进入下一轮条件判断。

六、for、while、do-while适用场景区分

  1. 标准for:已知循环次数、需要计数器;
  2. while:循环次数未知,仅靠条件判断;
  3. do-while:必须先执行一次循环体再判断;
  4. for-each:单纯遍历数组、集合,不需要下标。

七、专业注意事项

  1. 初始化定义的变量作用域仅限当前for循环,循环外无法访问;
  2. 循环条件避免浮点数判断,浮点精度误差易造成死循环;
  3. 循环内尽量不频繁创建对象,减少GC开销;
  4. for-each仅做遍历读取,修改临时变量不会同步到原数组;
  5. 循环条件不要写死不变量,否则引发死循环。
http://www.gsyq.cn/news/1608163.html

相关文章:

  • 面包板到PCB:快速原型验证的最佳实践 —— 模块化设计与可测试性
  • 3分钟快速安装Windows包管理器:PowerShell一键安装Winget完整教程
  • DCT域图像隐写实战:从MATLAB代码到鲁棒性调优
  • 【Unity3D】Unity 编辑器核心窗口功能详解与高效布局指南
  • 零拷贝网络:Linux splice/sendfile 系统调用的 Go 实现
  • MATLAB回调函数实战:从函数句柄到ButtonDownFcn的交互设计
  • 告别繁琐配置:PowerShell智能脚本帮你快速部署Windows包管理器
  • Windows Cleaner:专治C盘爆红与系统卡顿的终极解决方案
  • 大庆装饰公司怎么选不踩坑!本土靠谱装饰公司、全屋定制、别墅商装优选攻略
  • 2026年AI图片翻译深度实测:电商图、海报、漫画如何做到“无痕“本地化?5款工具对比
  • NXP I.MX6ULL DDR3实战:从配置脚本到压力测试的完整流程解析
  • tinyriscv学习记录之五
  • 5个技巧快速上手MediaCrawler:多平台数据采集终极指南
  • 为什么90%的R语言学习者都半途而废?
  • Pikachu靶场文件包含漏洞实战:从原理到渗透测试全解析
  • GPS/北斗模块实战入门:从选型到嵌入式系统集成
  • LeetCode刷题 day25
  • Wfuzz模糊测试工具:Web渗透测试中的瑞士军刀
  • Solidworks二次开发实战:解析选中圆形边的几何中心点
  • 2026AI在线抠图工具整理:免费无水印、商用合规专业平台实操指南
  • 从内核到用户态:Rust 系统编程的安全边界与最佳实践
  • 选长春修锁服务,应参考哪些通用标准和适配条件?
  • 嵌入式高手都在偷偷用的“第10条”:用 #pragma GCC poison 把危险标识符变成毒药,谁碰谁编译失败
  • 如何快速掌握Topit:Mac窗口置顶的终极完整指南
  • 如何快速掌握数据采集:pywencai面向开发者的完整指南
  • 怎样快速配置Nucleus Co-Op:新手必看的完整分屏多人游戏教程
  • 【Springboot毕设全套源码+文档】基于springboot+vue的敬老院管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 多账号矩阵发布视频图文,自动改标题智能识别浏览器工具
  • 深入解析MPC5643L评估板硬件设计:电源、时钟与调试接口实战指南
  • 不用微信和 U 盘,怎样在局域网内快速传大文件