天天看点

continue语句只用于循环语句中_控制语句

控制语句

控制语句分为三类:顺序、选择和循环 + 顺序结构 代表“先执行a,再执行b”的逻辑。 + 选择结构 代表“如果。。。则。。。”的逻辑。 + 循环结构 代表“如果。。。则再继续。。。”的逻辑。

任何软件和程序,小到一个练习,大到一个操作系统,本质上都是由“变量、选择语句、循环语句”组成

选择结构

选择结构用于判断给定的条件,然后根据判断的结果来控制程序的流程。

主要的选择结构有:if选择结构和switch多选择结构。

  1. if单选择结构
  2. if-else双选择结构
  3. if-else if-else多选择结构
  4. switch结构

if单选择结构

语法结构
if
           

​ if语句对布尔表达式进行一次判定,若判定为真,则执行{}中的语句块,否则跳过该语句块。流程如图:

continue语句只用于循环语句中_控制语句

if-else双选择结构

语法结构
if
           

当布尔表达式为真时,执行语句块1,否则执行语句2。也就是else部分。流程图:

continue语句只用于循环语句中_控制语句

if-else if-else多选择结构

语法结构:
if
           

当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;如果1~n个布尔表达式均判定为假时,则执行语句块n+1,也就是else部分。流程图:

continue语句只用于循环语句中_控制语句

switch多选择结构

语法结构:
switch 
           

​ switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果表达式的值与任一case值不匹配,则进入default语句(如果存在default语句的情况)。

​ 根据表达式值的不同可以执行许多不同的操作。switch语句中case标签在JDK1.5之前必须是整数(long类型除外)或者枚举,不能是字符串,在JDK1.7之后允许使用字符串(String)。

​ 大家要注意,当布尔表达式是等值判断的情况,可以使用if-else if-else多选择结构或者switch结构,如果布尔表达式区间判断的情况,则只能使用if-else if-else多选择结构。

​ switch多选择结构的流程图:

continue语句只用于循环语句中_控制语句

循环结构

循环结构分两大类,一类是当型,一类是直到型。

当型:

​ 当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for循环。

直到型:

​ 先执行某语句, 再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,比如do-while循环。

while循环

语法结构:
`
           

​ 在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。

​ 语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。

do-while循环

语法结构:
`
           

do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。

for循环

语法结构:
`
           

for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。

​ 1. 初始化部分设置循环变量的初值

​ 2. 条件判断部分为任意布尔表达式

​ 3. 迭代因子控制循环变量的增减

  • for循环在执行条件判定后,先执行的循环体部分,再执行步进。
  • 在for语句的初始化部分声明的变量,其作用域为整个for循环体,不能在循环外部使用该变量。
  • 编译器将while(true)与for(;;)看作同一回事,都指的是无限循环。

嵌套循环

在一个循环语句内部再嵌套一个或多个循环,称为嵌套循环。while、do-while与for循环可以任意嵌套多层。

while
           

break语句和continue语句

break

:在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。

continue

:continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

注意事项
  1. continue用在while,do-while中,continue 语句立刻跳到循环首部,越过了当前循环的其余部分。
    1. continue用在for循环中,跳到for循环的迭代因子部分。

带标签的break和continue

​ goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在Java语言中得到正式使用;Java没有goto语句。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue。

​ “标签”是指后面跟一个冒号的标识符,例如:“label:”。对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。

​ 在 “goto有害”论中,最有问题的就是标签,而非goto, 随着标签在一个程序里数量的增多,产生错误的机会也越来越多。 但Java标签不会造成这方面的问题,因为它们的活动场所已被限死,不可通过特别的方式到处传递程序的控制权。由此也引出了一个有趣的问题:通过限制语句的能力,反而能使一项语言特性更加有用。

继续阅读