一、应用背景
编写Java程序必须掌握的流程控制语句,只有掌握了流程控制的语句,写Java程序才能德信应手。流程是指程序运行时,各语句的执行顺序。流程控制语句就是用来控制程序中各语句执行的顺序。
二、流程控制分类
1、顺序结构:按语句的先后顺序来依次执行
2、分支结构(或称选择结构):根据条件从多个分支中选择其中一条来执行。简单地说就是程序运行到一个地方遇到有判断的语句,就会进行判断,符合条件的就选择性的往下执行。但有时候会有多层的判断需要根据实际的情况来分析程序的执行流程,分析出每一步要设计什么的条件和满足条件后需要执行的语句。条件语句超过两条的,需要使用花括号括起来,switch语句别忘了break和default关键字。
(1)、单路条件选择:if(条件表达式){
语句序列;
}
程序执行到这里就会进行判断如果满足if的条件就进入if中,否则就不会执行if条件里面的语句直接执行if后面的语句。
(2)、双路条件选择:if(条件表达式){
语句序列1;
}else{
语句序列2;
}
程序执行到这里就会进行判断如果满足if的条件就进入if中,否则就会执行ielse里面的语句;
(3)、多重条件选择语句:if(条件表达式1){
语句序列1;
}else if(条件表达式2){
语句序列2;
}
.....
else if(条件表达式2){
语句序列n;
}
else {
语句序列n+1;
}
程序执行到这里就会进行判断如果满足某一个if的条件就进入if中,都不满足是就会执行ielse里面的语句;
(4)、switch选择语句:
switch(表达式)
{
case 常量表达式:
语句序列1;
break;
case 常量表达式:
语句序列2;
break;
.
.
case 常量表达式:
语句序列n;
break;
default:
语句序列n+1;
}
类似于if(),else if()的多重条件选择语句,选择符合条件的语句执行。重点时候别忘了break和default(不满足条件就会执行该语句)
switch中的表达式中只能是一个整数表达式或者枚举常量,整数表达式,只能是可以隐含转换成int类型的类型,如byte,short,char,所以long型和String就不能。
3、循环结构:在一定的条件下,反复执行的某段程序,称为循环结构,反复执行的语句叫做循环体,一定的条件是循环条件。
(1)、while语句:执行过程是先判断条件,若为true就执行循环体,完了以后再判断,再执行,直到判断到条件为假。
while(条件表达式){
循环体;//可以是单条语句,也可以是复合语句
}
(2)、do-while语句:执行类似于while循环,不同的是它至少会执行一遍,先执行后再判断条件。
do
{
循环体;
}
while(条件表达式);
(3)、for语句:是功能性比较强,使用比较广泛的一种循环结构。执行过程是先初始表达式1,后进行判断是否满足表达式2,若满足,则执行循环体,否则退出循环, 然后执行表达式3(对表达式做相应的变化),再进行新一轮的判断,执行判断体,直到表达式2,不满足(为假时),退出循环。
其中三个表达式都可以为空,那样的话会变成一个死循环,需要在循环体写语句进行跳出循环。
for(表达式1;表达式2;表达式3){
循环体;
}
三、多重循环
如果循环的语句中又有循环语句,则称为多重循环,也叫嵌套循环,常用于排序的算法中。
四、循环中跳转的语句
1、break语句的作用是使程序的流程从switch的语句或者是循环的循环体中跳出来,执行其他接着的语句。经常用于switch语句,结束一个case的语句,和结束一个循环语句。
2、continue语句必须用在循环结构中。作用是终止当前一轮的循环,跳到本轮循环剩余的语句,直接进行下一轮。在while和do-while循环中,continue语句会使流程直接跳转至条件表达式;在for语句中,会直接跳转至表达式2,计算并修改循环变量后判断循环条件。
3、return 语句用来使程序从方法中返回,并为方法返回一个值,如果return语句在方法中没有出现,则程序执行方法的最后一条语句后自动返回到主程序。