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

循环结构.

循环结构

语言中的结构:顺序结构、分支结构、循环结构

一、循环的概念【理解即可】

1. 概念:通过某个条件,重复并且有规律的执行一段程序代码。

2. 循环的组成:循环变量的初始化、循环条件、循环变量改变(递增、递减)、循环体(重复执行的代码)。

二、循环的分类

1. while循环:【重点】

(1) 语法:
循环变量的定义;
while(循环条件/布尔表达式){
// 循环体
// (循环变量的改变)
}
(2) 执行的原理:先判断循环条件是否满足(布尔表达式的结果是否true),满足(true),则执行循环体,同时循环变量改变,接着继续判断循环条件是否满足,满足-继续执行循环体,同时循环变量改变,直到循环条件不满足(布尔表达式的结果为false),结束循环,继续执行循环后面的内容。
(3) 循环的特点:先判断,再执行,执行的次数:0~n次。
(4) 注意:循环过程中,如果循环变量没有给予任何改变,可能会出现死循环。
循环条件如果直接给的true,则循环一直进行,也是死循环的现象。

2. do…while 循环

(1) 语法:
do{
//循环体
// 循环变量改变
}while(循环条件/布尔表达式); // 分号不能省略
(2) 执行的原理:先执行循环体,同时循环变量进行改变,再判断循环条件是否满足,满足,继续执行循环体,同时循环变量改变,再判断循环条件,直到循环条件不满足(结果为false为止),结束循环,继续执行循环后面的内容。
(3) 执行特点:先执行,再判断,执行次数:1~n次。

3. for循环【重点】

(1) 语法:
for(①循环变量的初始化; ②循环条件/布尔表达式; ③循环变量的改变){
// 循环体④
}
(2) 循环执行的原理:先进行循环变量的初始化①,然后判断循环条件②,条件成立(结果为true),执行循环体④,接着执行循环变量的改变③,再次判断循环条件②,条件成立,继续执行循环体④,再次改变循环变量③,直到循环条件不成立(结果为false),结束循环,继续循环之后的内容。
(3) 特点:先判断,再执行,执行的次数:0~n次。
(4) 注意:
a. for后面的()中循环变量的改变可以写在循环体中:
for(循环变量的初始化;循环条件; ){
// 循环体
// 循环变量的改变 --------》不建议
}
b. for()中的循环变量的定义及初始化可以写在循环的前面,但是定义循环的前面的循环变量,作用范围扩大,开发时,通常将循环变量的定义及初始化定义在()中,这种定义变量只能在for循环结构中使用,循环结束,循环变量也被收回,减小空间,从而提高空间的利用率。

总结:
(1) 如果循环次数明确时,建议使用 for
(2) 如果循环次数不明确时,建议使用 while 或是 do…while

三、循环的控制语句【重点】

1. break:终止、跳出循环结构。

2. continue:结束本次循环,从而进入下一次循环。

面试题目:写出 break 和 continue 的区别。
解析:break:不仅可以用在循环中还可以用在switch…case结构,continue只能用在循环中。
break:用在循环中,代表结束、跳出、终止循环结构;
continue:结束本次循环,从而的进入下一次循环。

四、循环的嵌套

1. 概念:在一个循环结构中,又定义了一个完整的循环结构。

2. 双层循环的循环次数:外层循环次数*内层循环的次数

3. break 和 continue用在循环嵌套中:
break:终止、跳出本层的循环
continue:结束本层本次循环,从而进入下一次循环。

4. 双层循环可以用于打印输出图形,通常用外层循环控制图形的行数,内层循环控制图形的列数
//外层循环
for(int j=1;j<=9;j++){
//内层循环
for(int i=1;i<=10;i++){
System.out.print("*");
}
System.out.println(); //换行
}
5. 利用标号控制循环:
outer:for(int i=1;i<=3;i++){
inner:for(int j= 1;j<=4;j++){
if(j==2){
continue outer;//等价于 break inner;
}
System.out.println("i="+i+",j="+j);
}
}

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

相关文章:

  • 从Qt5到Qt6:MainWindow状态栏API的细微变化与迁移避坑指南
  • ADC0809老矣?深入对比STM32的ADC多通道采集,聊聊精度、速度与易用性的那些事儿
  • 如何用LRCGET批量下载工具,为你的离线音乐库一键添加精准同步歌词
  • 模板驱动文档自动化:从填空题到流水线的工程实践
  • 2026年新都男士假发权威排行:新都区女士假发/新都区时尚假发/新都区男士假发/新都区真人假发/新都区真发假发/选择指南 - 优质品牌商家
  • 小程序毕业设计-基于微信小程序的博物馆文创系统的设计与实现基于springboot+微信小程序的博物馆文创系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 信号处理入门必看:傅里叶级数的三种形式(三角、余弦、指数)到底该怎么选?
  • 国内淤泥脱水处理设备厂家实力排行及选型推荐 - 优质品牌商家
  • Inspur服务器SSD硬盘灯变红,机械硬盘却正常?可能是你的RAID配置没带上它
  • 避开这些坑,你的ADC0809多路采集才能准:硬件连接、时序与数据处理详解
  • 2026年比较好的熔体计量泵挤出模具/静态混合器挤出模具/台州PVDF板材挤出模具深度厂家推荐 - 品牌宣传支持者
  • 告别裸机:用RT-Thread Nano在STM32上快速搭建你的第一个多线程应用(基于Keil MDK)
  • 攻防视角下的云安全验证实战指南
  • 2026无人机清洗外墙服务有哪些品牌?绿阳高空清洗方案值得关注 - 华旭传媒
  • 安卓手机直接跑YOLOv8实例分割和旋转框检测,NCNN预编译部署包开箱即用
  • 2026年6月可靠韩国留学机构排行:新西兰留学机构/日本留学机构/澳大利亚留学机构/合规与服务能力盘点 - 优质品牌商家
  • 组件间的通信
  • 2026年建筑垃圾再生骨料设备厂家top5排行及选型推荐:陈腐垃圾分拣设备/陈腐垃圾处理设备/排行一览 - 优质品牌商家
  • 别再自己写组件了!用uni-app的midButton属性5分钟搞定中间凸起TabBar(H5/小程序通用)
  • 自学还是报班,Java 转大模型的课程性价比深度分析
  • Google Pay支付接入别再踩坑了!手把手教你搞定服务账号配置与API权限(附Java代码示例)
  • 【MES系统】大模型会取代 MES 吗?先搞清楚 MES 和 AI 各自擅长什么
  • 你被自己的”成功模式”锁死了:你设计过”最小破坏性实验”吗?
  • 2026年Q2加拿大留学可靠机构排行 资质与服务双维度盘点 - 优质品牌商家
  • 2026年更新滚花机厂商找哪家?优质服务商深度解析与推荐 - 2026年企业资讯
  • 紧急预警:2024Q3起多地将强制执行《智能社区AI接口合规性新规》——你漏掉的这5个认证项正在导致项目搁浅
  • Office 2019弹窗烦人?别急着重装,试试这个换密钥的土办法(附2016/2013通用密钥)
  • LLM驱动的智能运维诊断:数字孪生与工具增强实践
  • 别再傻傻分不清了!5G手机信号栏里的PCell、SCell、PScell到底谁是谁?一张图给你讲明白
  • 别再被i7忽悠了!2024年小白装机避坑指南:从CPU后缀到显卡命名,一次讲透