Java 控制流程 之 循环语句
循环:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。
组成:初始部分、循环条件、循环操作、迭代部分(控制循环条件改变的增量...)
一、循环语句1 -- for
语法格式:
for(初始化表达式①; 循环条件表达式②; 步进表达式④){ // 初始化表达式:在循环开始最初执行,而且只做唯一一次。
循环体③
}
执行流程:
- 执行顺序:①②③④>②③④>②③④…②不满足为止。
- ①负责完成循环变量初始化
- ②负责判断是否满足循环条件,不满足则跳出循环
- ③具体执行的语句
- ④循环后,循环条件所涉及变量的变化情况
流程图:

特点:首先执行循环变量的初始值,首次执行就有入口函数,先判断,再执行。适用于循环次数明确的情况。
扩展:foreach 循环
语法格式:
for(元素变量x: 遍历对象 obj) {
引用了 x 的 Java 语句;
}
foreache 是 for 语句的特殊简化版本,不能完全取代 for语句。任何 foreach 语句都可以改写为 for 语句。
二、循环语句2 -- while
语法格式:
初始化表达式① // 只执行一次
while(循环条件表达式②){
循环体③
步进表达式④
}
执行流程:
- 执行顺序:①②③④>②③④>②③④…②不满足为止。
- ①负责完成循环变量初始化。
- ②负责判断是否满足循环条件,不满足则跳出循环
- ③具体执行的语句。
- ④循环后,循环变量的变化情况。
流程图:

特点:首次就有入口条件,先判断,再执行,不满足条件则不执行,适用于循环次数不确定的情况。
三、循环语句3 -- do... while
语法格式:
初始化表达式① // 只执行一次
do{
循环体③
步进表达式④
}while(循环条件表达式②);
执行流程:
- 执行顺序:①③④>②③④>②③④…②不满足为止。
- ①负责完成循环变量初始化。
- ②负责判断是否满足循环条件,不满足则跳出循环。
- ③具体执行的语句
- ④循环后,循环变量的变化情况
- 执行顺序:①③④>②③④>②③④…②不满足为止。
流程图:

特点:无条件执行一次循环体,即使我们将循环条件直接写成false,也依然会循环一次。这样的 循环具有一定的风险性。
四、三种循环语句的区别
1、控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环和do-while循环结束还可以继 续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消 失,能够提高内存的使用效率。
2、在已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while。
3、如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次。
五、循环控制语句
1、break
使用场景:
a、可以用在switch语句当中,一旦执行,整个switch语句立刻结束。
b、还可以用在循环语句当中,一旦执行,整个循环语句立刻结束。打断循环。
2、continue
使用场景:结束本次循环,继续下一次循环
扩展:
如果遇到循环嵌套的情况,break 和 continue 语句只会使程序流程跳出包含它的最内层的循环结构,只跳出一层循环。
如果想 跳出外层循环,Java 提供了 “标签” 功能。
语法格式:
标签名 : 循环体 {
break / continue 标签名; // 此循环体的标签名必须与 break/continue 的标签名一致。
}
Demo:
public static void main(String[] args) {
Loop: for(int i=0;i<3;i++) { // 在for 循环前用标签标记
for(int j =0;j<6;j++) {
if(j==4) {
break[continue] Loop; // 跳出 Loop 标签标记的循环体
}
}
}
}
六、扩展知识点
1、死循环
死循环:也就是循环中的条件永远为true,死循环的是永不结束的循环。例如:while(true){}。
标准格式:
while (true) {
循环体
}
扩展:for 形式的死循环
for(;;){
循环体;
}
2、嵌套循环
嵌套循环:是指一个循环的循环体是另一个循环。比如for循环里面还有一个for循环,就是嵌套循环。总 共的循环次数=外循环次数*内循环次数。
语法格式:
for(初始化表达式①; 循环条件②; 步进表达式⑦) {
for(初始化表达式③; 循环条件④; 步进表达式⑥) {
执行语句⑤;
}
}
执行流程:
- 执行顺序:①②③④⑤⑥>④⑤⑥>⑦②③④⑤⑥>④⑤⑥
- 外循环一次,内循环多次。
- 执行顺序:①②③④⑤⑥>④⑤⑥>⑦②③④⑤⑥>④⑤⑥
Java 控制流程 之 循环语句的更多相关文章
- 1-24-case流程控制和while循环语句的使用
大纲: 1.while循环控制语句 while实战---批量添加规则用户 while实战---猜价格游戏 2.case流程控制语句和exit退出 exit实战---返回值测试 case实战---智能解 ...
- 五、Java控制流程
Java流程控制* 用户交互Scanner.Scanner进阶使用 用户交互Scanner 之前我们学习的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获 ...
- Java语言----三种循环语句的区别
------- android培训.java培训.期待与您交流! ---------- 第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式 ...
- JAVA控制流程
Java代码有三种执行结构流程,顺序结构.分支结构.循环结构 顺序结构 顺序结构是最简单的代码执行结构,从代码开始逐步执行每一句代码到结束 public class C { public static ...
- java基础61 JavaScript循环语句之while、do...while、for及for...in循环(网页知识)
本文知识点(目录): 1.while循环语句 2.do...while循环语句 3.for循环语句 4.for...in循环语句 5.附录1(with语句) 6.附录2( ...
- python 流程控制(for循环语句)
1,for循环基本语法 2, for循环常用序列 3,for循环 else使用方法 1,for循环基本语法 for iterating_var in sequence: statements(s) 2 ...
- java学习笔记 --- 条件,循环语句
一.三元运算符 A:格式 比较表达式?表达式1:表达式2; B:执行流程: 首先计算比较表达式的值,看是true还是false. 如果是true,表达式1就是结果. 如果是 ...
- JS 操作符、控制流程、循环、字符串/数组方法
操作符 算术运算符:+ .- . * . / . %.++.-- 赋值运算符:= .+=.-=. *=./=.%= 比较运算符:>.>=.<.<=.!=.==.===(全等,数 ...
- java控制流程(二)
一.循环结构 有一天你的女朋友让你写一百遍我爱你,你是要一行一行的手写出来,还是利用编程的循环结构写出来? while 语法: 表达式返回的为boolean值 while(表达式){ 需要循环的语句 ...
随机推荐
- phpcms添加https后台分页错误的解决方法
今天修改一位客户的phpcms网站,他要求添加https,这对ytkah来说是轻车熟路了,但是后台稍微有点问题,点击分页出现错误,将鼠标移到下一页显示的链接是https://www.abc.com/w ...
- time、datetime
目录 time() datetime() time() python的时间模块 时间戳: 给电脑看的.1970-01-01 00:00:00到当前时间,按秒计算 格式化时间(Format String ...
- Spring---SSH整合(二)
基于Spring---SSH整合,使用SSH编写后台: User模块层 TreeNode.hbm.xml <?xml version="1.0" encoding=" ...
- Python实现网络图形化界面多人聊天室 - Linux
网络图形化界面多人聊天室 - Linux Windows版本:https://www.cnblogs.com/noonjuan/p/12078524.html 在Python实现网络多人聊天室基础上, ...
- qt中设置窗口左上角的图标
前面一节已经详细的讲解了怎么添加图片到qt的图片资源文件中,这里就不赘述了,不太了解的可以看看博主的这篇随笔:qt中建立图片资源管理文件 this->setWindowIcon(QIcon(&q ...
- Apache的安装部署 2(加密认证 ,网页重写 ,搭建论坛)
一.http和https的基本理论知识1. 关于https: HTTPS(全称:Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道 ...
- Affy包 estrogen包
下载安装 if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocMana ...
- 常用war包插件
<build> <resources> <resource> <directory>src/main/java</directory> &l ...
- 【操作系统之七】Linux常用命令之tail
一.概念linux tail命令用途是按照要求将指定的文件的最后部分输出到标准设备,一般是终端,就是把某个档案文件的最后几行显示到终端上,如果该档案有更新,tail会自动刷新,确保你看到最新的档案内容 ...
- 【c# 学习笔记】c#委托是什么
法庭上律师为当事人辩护,他真正执行的是当事人的陈词,律师就相当于一个委托对象,而当事人则委托律师对象为自己辩护. c#中的委托概念也就好比律师对象,它是一个类(“委托是类类型”这个事实将在“委托本质” ...