zoukankan      html  css  js  c++  java
  • 第六章:循环结构(二)

    第六章:循环结构(二)

    一. for 循环

    1.循环结构的四个组成部分

        (1). 初始部分:设置循环的初始状态,比如我们设置记录循环次数的变量 i 为 0 .

        (2). 循环体:重复执行的代码 .

        (3). 迭代部分:下一次循环开始前要执行的部分,在while循环中它作为循环体的一部分,比如使用"i++;"进行循环次数的累加 .

        (4). 循环条件:判断是否继续循环的条件 .

       语法 

      for(表达式1; 表达式2; 表达式3) 

      { 

             循环体 

      } 

    2.for 循环中三个表达式的含义

    表达式       形式     功能     举例

    表达式 1  赋值语句  循环结构的初始部分,

    为循环变量赋初值    int i = 0

    表达式 2  条件语句  循环结构的循环条件      i < 100

    表达式 3  赋值语句,通常使用++或--运算符       循环结构的迭代部分,

    通常用来修改循环变量的值      i++

    2. 执行顺序

    (1). 执行初始部分 (int i = 0;) .

    (2). 进入循环条件判断 (i < 100) .

    (3). 根据循环条件判断结果

        如果为true,执行循环体。

        如果为false,退出循环体,步骤(4)、(5)均不执行 .

    (4). 执行迭代部分,改变循环变量值 (i ++)

    (5). 依次重复步骤(2)、(3)、(4),直到退出 for 循环结构

    3.省略表达式

    (1). 省略"表达式 1",例如:

    [java] view plain copy print?

    for( ; i < 10; i++); 

    这个for循环虽然省略了"表达式 1",但其后的";"号没有省略。我们在实际编程中,如果出现"表达式 1"省略的情况,需要在 for 语句前给循环变量赋值。因此,可将上面的语句修改为:

    [java] view plain copy print?

    int i = 0; 

    for( ; i < 10; i++); 

    (2). 省略"表达式 2",即不判断循环条件,循环将无终止运行,也就形成了"死循环",比如下面的for 语句:

    [java] view plain copy print?

    for(int i = 0; ; i++); 

    在编程过程中要避免"死循环"的出现,所以对上面的语句可以做如下修改:一种方法是添加"表达式 2",另一种方法是在循环体中使用 break 强制跳出循环。

    (3). 省略 "表达式 3",即不改变循环变量的值,也会出现"死循环",比如下面的语句:

    for(int i = 0; i < 10; ); 

    这里省略了 "表达式 3",变量 i 的值始终未 0,因此循环条件永远成立,程序就会出现"死循环",在这种情况下,我们可以再循环体中改变 i 的值,语句如下:

    [java] view plain copy print?

    for(int i = 0; i < 10; ) 

        i++; 

    这样就能使循环正常结束,不会出现"死循环"

    (4). 三个表达式都省略,即如下语句:

    [java] view plain copy print?

    for( ; ; ); 

    上面这个语句在语法上没有错误,但逻辑上市错误的,我们可以参考上面三种情况的描述进行修改。

    在实际开发中,为了提高代码的可读性,尽量不要省略各个表达式,如果需要省略,可以考虑是否改用while或 do-while 循环。

    4. 跳转语句

    Java 支持三种形式的跳转:break (停止)、continue(继续) 和 return (返回)。

    1. break 语句

        在 switch 结构中,break 语句用于终止 switch 语句中的某个分支,使程序跳到 switch 语句块以外的下一条语句

        在循环结构中,break语句用于用于终止某个循环、使程序跳到循环块外的下一条语句。在循环中位于break后的语句将不再执行,循环也停止执行。

        break 语句不仅可以用在 for循环中,也可以用在 while 和 do-while 循环中。

        break 语句通常与 if 条件语句一起使用。

       

    2. continue 语句

        continue 语句用于,在某次循环中,我们不想执行完循环体中所有的语句,就像跳出次循环,开始执行下一次循环

       continue 可以用于 for 循环,也可以用于 while 和 do-while 循环。 在 for 循环中, continue 使程序先跳转到迭代部分,然后判断循环条件。如果为 true,继续下一次循环;否则终止循环。在while循环中,continue执行完毕后,程序将直接判断循环条件。continue 语句只能用在循环结构中。

    3.continue 和 break 语句的区别

        在循环结构中:

            (1). break 语句是终止某个循环,程序跳转到循环块外的下一条语句。

            (2). continue 语句是跳出本次循环,进入下一次循环。

    5. 循环结构

    Java 提供的最主要的三种循环结构: while 、do-while 、for 循环

     

    5对比:

    1. 语法不同

      while 循环语句 

      while(<条件>) 

      { 

          //循环体 

      } 

     

    // do-while循环语句 

      do 

      { 

          //循环体 

      }while(<条件>); 

     

    // for循环语句 

      for(初始化; 条件; 迭代) 

      { 

          //循环体 

      } 

    2. 执行顺序不同

        (1). while循环: 先进行条件判断、再执行循环体。如果条件不成立,退出循环。

        (2). do-while循环:先执行循环体,再进行条件判断,循环体至少执行一次。

        (3). for 循环:先执行初始化部分,再进行条件判断,然后执行循环体,最后进行迭代部分的计算。如果条件不成立,跳出循环。

    3. 适用情况不同

        在解决问题时,对于循环次数确定的情况,通常选用 for 循环。对于循环次数不确定的情况,通常选用 while 和 do-while 循环。    1. break 语句是终止某个循环,程序跳转到循环块外的下一条语句。

    2. continue 语句是跳出本次循环,进入下一次循环。

  • 相关阅读:
    HashTable源码浅析(基于jdk1.8.0_231)
    LinkedHashMap源码浅析(基于jdk1.8.0_231)
    SortedSet接口源码浅析(基于jdk1.8.0_231)
    NavigableSet接口源码浅析(基于jdk1.8.0_231)
    TreeSet源码浅析(基于jdk1.8.0_231)
    TreeMap源码浅析(基于jdk1.8.0_231)
    Map接口源码解析(基于jdk1.8.0_231)
    Arrays工具类源码详解(基于jdk1.8.0_231)
    Collections源码详解(基于jdk1.8.0_231)
    BitSet源码详解 (基于jdk1.8.0.231)
  • 原文地址:https://www.cnblogs.com/ppdpp/p/7635521.html
Copyright © 2011-2022 走看看