流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
其流程控制方式采用结构化程序设计中规定的三种基本流程结构;
1、顺序结构,程序从上到下逐行地执行,中间没有任何判断和跳转。
2、分支结构
- 根据条件,选择性地执行某段代码。
- 有
if…else
和switch-case
两种分支语句。 - 1、语句块只有一条执行语句时,一对{}可以省略,但建议保留;
- 2、当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓当多个条件是“包含”关系时,“小上大下/ 子上父下”。
-
switch结构中的表达式,只能是如下的六种数据类型之一:
byte
、short
、char
、int
、枚举类型
(JDK5.0)、String类型
(JDK7.0)不能是:long,float,double,boolean。
3、循环结构
- 根据循环条件,重复性的执行某段代码。
- 有
while、do…while、for
三种循环语句。 - 注:JDK1.5提供了
foreach
循环,方便的遍历集合、数组元素。 - 1、break的使用
- break语句用于终止某个语句块的执行;break语句出现在多层嵌套的语句块中时,可以通过标签label指明要终止的是哪一层语句块
- label1: { ...... label2: { ...... label3: { ...... break label2; ...... } } }
- 2、continue的使用
- continue只能使用在循环结构中
- continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环
- continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环
- 3、return的使用
- return:并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。
- 与break和continue不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。
- 4、特殊流程控制语句
- break只能用于switch语句和循环语句中。
continue 只能用于循环语句中。
二者功能类似,但continue是终止本次循环,break是终止本层循环。
break、continue之后不能有其他的语句,因为程序永远不会执行其后的语句。
标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。
很多语言都有goto语句,goto语句可以随意将控制转移到程序中的任意一条语句上,然后执行它。但使程序容易出错。Java中的break和continue是不同于goto的