zoukankan      html  css  js  c++  java
  • 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(初始化表达式③; 循环条件④; 步进表达式⑥) {
        执行语句⑤;
      }
    }
    

        执行流程:

      •   执行顺序:①②③④⑤⑥>④⑤⑥>⑦②③④⑤⑥>④⑤⑥
      •        外循环一次,内循环多次。
  • 相关阅读:
    《从零开始学Swift》学习笔记(Day 45)——重写方法
    《从零开始学Swift》学习笔记(Day 44)——重写属性
    浅析Android中ndk-build支持的参数
    texstudio on ubuntu 12.04
    arm上的参数列表传递的分析(以android为例)
    编译错误
    native method与so中function的关联
    Java.lang.NoClassDefFoundError--找不到相应的类
    Sublime Text 3 文档
    JNI 函数注册与管理
  • 原文地址:https://www.cnblogs.com/niujifei/p/11232031.html
Copyright © 2011-2022 走看看