程序流程控制
控制程序的执行流程的语句,包括顺序结构,分支结构,循环结构
顺序结构
自顶向下顺序执行语句
分支结构
if-else结构
//-----------
if(条件){
执行语句;
}
//-------
if(条件){
执行语句;
}else{
执行语句;
}
//----------
if(条件){
执行语句;
}else if{
执行语句;
}......
else{
执行语句;
}
switch-case结构
switch(表达式){
case 常量1:
语句;
break;
case 常量2:
语句;
break;
case 常量3:
语句;
break;
....
default:
语句;
break;
}
- switch(表达式)中表达式的值必须是下述几种类型之一:byte,short, char,int,枚举 (jdk 5.0),String (jdk 7.0);
- case子句中的值必须是常量,不能是变量名或不确定的表达式值;
- 同一个switch语句,所有case子句中的常量值互不相同;
- break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
- default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时, 执行default
循环结构
反复执行某些语句直到满足条件为止,分为for循环,while循环,do-while循环
- 循环语句的四个组成部分
- 初始化部分(init_statement)
- 循环条件部分(test_exp)
- 循环体部分(body_statement)
- 迭代部分(alter_statement)
for循环
for(初始化部分;循环条件部分;迭代部分){
循环体部分;
}
while循环
初始化部分;
while(循环条件部分){
循环体部分;
迭代部分;
}
do-while循环
初始化部分;
do{
循环体部分;
迭代部分;
}while(循环条件部分)
特殊关键字的使用
break语句
break语句用于终止某个语句块的执行
{ …… break; …… }
break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是 哪一层语句块
label1: { …… label2: { …… label3: { …… break label2; …… } } }
continue语句
- continue只能使用在循环结构中
- continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环
- continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环
return语句
- return:并非专门用于结束循环的,它的功能是结束一个方法。 当一个方法执行到一个return语句时,这个方法将被结束。
- 与break和continue不同的是,return直接结束整个方法,不管 这个return处于多少层循环之内
说明
- break只能用于switch语句和循环语句中。
- continue 只能用于循环语句中。
- 二者功能类似,但continue是终止本次循环,break是终止本层循环。
- break、continue之后不能有其他的语句,因为程序永远不会执行其后的语句。
- 标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。
- 很多语言都有goto语句,goto语句可以随意将控制转移到程序中的任意一条 语句上,然后执行它。但使程序容易出错。Java中的break和continue是不同 于goto的。