continue语句只⽤于循环语句中_控制语句
控制语句
控制语句分为三类:顺序、选择和循环 + 顺序结构 代表“先执⾏a,再执⾏b”的逻辑。 + 选择结构 代表“如果。。。则。。。”的逻辑。 + 循环结构 代表“如果。。。则再继续。。。”的逻辑。
任何软件和程序,⼩到⼀个练习,⼤到⼀个操作系统,本质上都是由“变量、选择语句、循环语句”组成
选择结构
选择结构⽤于判断给定的条件,然后根据判断的结果来控制程序的流程。
主要的选择结构有:if选择结构和switch多选择结构。
1. if单选择结构
2. if-else双选择结构
3. if-else if-else多选择结构
4. switch结构
if单选择结构
语法结构
if
if语句对布尔表达式进⾏⼀次判定,若判定为真,则执⾏{}中的语句块,否则跳过该语句块。流程如图:
if-else双选择结构
语法结构
if
当布尔表达式为真时,执⾏语句块1,否则执⾏语句2。也就是else部分。流程图:
if-else if-else多选择结构
语法结构:
if
当布尔表达式1为真时,执⾏语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执⾏语句块
2;否则,继续判断布尔表达式3······;如果1~n个布尔表达式均判定为假时,则执⾏语句块n+1,也就是else部分。流程图:
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多选择结构的流程图:
循环结构
循环结构分两⼤类,⼀类是当型,⼀类是直到型。
当型:
当布尔表达式条件为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
continue语句执行过程
break语句和continue语句
break:在任何循环语句的主体部分,均可⽤break控制循环的流程。break⽤于强⾏退出循环,不执⾏循环中剩余的语句。
break
continue: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标签不会造成这⽅⾯的问题,因为它们的活动场所已被限死,不可通过特别的⽅式到处传递程序的控制权。由此也引出了⼀个有趣的问题:通过限制语句的能⼒,反⽽能使⼀项语⾔特性更加有⽤。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。