第六章:循环结构(二)

不问归期 提交于 2020-02-01 16:27:26

第六章:循环结构(二)

一. 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 语句是跳出本次循环,进入下一次循环。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!