循环:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为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. 1-24-case流程控制和while循环语句的使用

    大纲: 1.while循环控制语句 while实战---批量添加规则用户 while实战---猜价格游戏 2.case流程控制语句和exit退出 exit实战---返回值测试 case实战---智能解 ...

  2. 五、Java控制流程

    Java流程控制* 用户交互Scanner.Scanner进阶使用 用户交互Scanner ​ 之前我们学习的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获 ...

  3. Java语言----三种循环语句的区别

    ------- android培训.java培训.期待与您交流! ---------- 第一种:for循环 循环结构for语句的格式:       for(初始化表达式;条件表达式;循环后的操作表达式 ...

  4. JAVA控制流程

    Java代码有三种执行结构流程,顺序结构.分支结构.循环结构 顺序结构 顺序结构是最简单的代码执行结构,从代码开始逐步执行每一句代码到结束 public class C { public static ...

  5. java基础61 JavaScript循环语句之while、do...while、for及for...in循环(网页知识)

    本文知识点(目录): 1.while循环语句    2.do...while循环语句    3.for循环语句    4.for...in循环语句    5.附录1(with语句)    6.附录2( ...

  6. python 流程控制(for循环语句)

    1,for循环基本语法 2, for循环常用序列 3,for循环 else使用方法 1,for循环基本语法 for iterating_var in sequence: statements(s) 2 ...

  7. java学习笔记 --- 条件,循环语句

    一.三元运算符 A:格式    比较表达式?表达式1:表达式2;   B:执行流程:    首先计算比较表达式的值,看是true还是false.    如果是true,表达式1就是结果.    如果是 ...

  8. JS 操作符、控制流程、循环、字符串/数组方法

    操作符 算术运算符:+ .- . * . / . %.++.-- 赋值运算符:= .+=.-=. *=./=.%= 比较运算符:>.>=.<.<=.!=.==.===(全等,数 ...

  9. java控制流程(二)

    一.循环结构 有一天你的女朋友让你写一百遍我爱你,你是要一行一行的手写出来,还是利用编程的循环结构写出来? while 语法: 表达式返回的为boolean值 while(表达式){ 需要循环的语句 ...

随机推荐

  1. django认证系统-user对象(创建,改密,认证)

    User对象 User对象是认证系统的核心.它们通常表示与你的站点进行交互的用户,并用于启用限制访问.注册用户信息和关联内容给创建者等.在Django的认证框架中只存在一种类型的用户,因此诸如'sup ...

  2. 【数论】[圆点坐标]P2508圆上的整点

    题目描述 求一个给定的圆\(x ^2 +y ^2 = r ^2\),在圆周上有多少个点的坐标是整数 Solution 圆上的点坐标通解:\(x = d\frac{v^2-u^2}{2},y = duv ...

  3. 使用docker部署nginx+tomcat架构(2):访问mysql数据库

    上一篇完成了通过docker部署nginx+tomcat的基础软件架构,但是距离一个真正可用的软件架构还差得很远.其中最重要的一点是缺少数据库这个角色的存在,那么本篇就来完善这一点. 废话少说,直接进 ...

  4. js 判断字符串是否为空或是否全为空格

      判断字符串是否为空 if (str == "") { } 判断字符串是否为空且不能全为空格 if (str.match(/^[ ]*$/)) { } 第二种方式不仅可以校验空格 ...

  5. barbor部署

    harbor 部署介绍: 1.版本信息 系统 :Centos 7.5 版本: harbor-offline-installer-v1.8.1 docker :docker-ce-18.06.2.ce- ...

  6. Node节点如何加入K8S集群

    k8s集群中,有时候发现有些节点状态为 NotReady,如何修复为Ready状态呢? [root@k8s-master~]# kubectl get nodes NAME STATUS ROLES ...

  7. IE浏览器卡死提示是否停止运行此脚本的解决办法

    IE浏览器经常卡死,报是否停止运行此脚本,严重影响使用体验,下面小编教大家怎么解决这个问题,供大家参考! 1.启动IE浏览器,点击上方菜单栏位的工具,如下图所示 2.在工具栏位选择internet选项 ...

  8. Shell脚本之二 变量、字符串和数组

    一.Shell 变量 1.1 定义变量 定义变量时,变量名不加美元符号($),如: your_name="runoob.com" 注意,变量名和等号之间不能有空格,这可能和你熟悉的 ...

  9. spark 操作hive

    1.hive动态分区,只需进行以下设置 val spark = SparkSession.builder() .appName("hivetest") .master(" ...

  10. OpenSTF 平台搭建

    什么是OpenSTF? OpenSTF(Smartphone Test Farm)是一个web端移动设备管理平台,可以从浏览器端远程调试.远程管理设备.其实有点类似于我们现在很火热的云测平台,如:te ...