流程控制语句:通过一些语句,控制程序的执行流程
一、顺序结构
顺序结构语句是Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行。
二、分支结构
1、if语句
格式1:
if(关系表达式){
语句体;
}
执行流程:首先计算关系表达式的值,如果关系表达式的值为true就执行语句体,如果关系表达式的值为false就不执行语句体,继续执行后面的其他语句。
如果对一个布尔类型的变量进行判断,不要用==号,直接把变量写在小括号里即可。
格式2:
if(关系表达式){
语句体1;
} else{
语句体2;
}
执行流程:首先计算关系表达式的值,如果关系表达式的值为true就执行语句体1,如果关系表达式的值为false就执行语句体2,继续执行后面的其他语句。
格式3:
if(关系表达式1){
语句体1;
} else if{关系表达式2){
语句体2;
}
……
else{
语句体n+1;
}
执行流程:首先计算关系表达式1的值,如果关系表达式的值为true就执行语句体1,如果关系表达式的值为false就执行关系表达式2,如果为true就执行语句体2,如果为false就执行关系表达式3,以此类推,如果关系表达式的结果都为false,则执行语句体n+1。
2、swich语句
switch (表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
……
default:
语句体n+1;
break;
}
执行流程:首先计算表达式的值,依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行过程中,遇到break就会结束;如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后结束整个switch语句。
格式说明:
① 表达式:(将要匹配的值)取值为byte、short、int、char。JDK5以后可以是枚举,JDK7以后可以是String。
② case:后面跟的是要和表达式进行比较的值(被匹配的值)。
③ break:表示中断,结束的意思,用来结束switch语句。
④ default:表示所有情况都不匹配时,就执行该处的内容,和if语句的else相似。
⑤ case后面的值只能是字面量,不能是变量且不允许重复。
三、循环结构
1、for 循环
格式:
for(int i = 1;i <= 10; i++){
System.out.println("HelloWorld");
}
执行流程:
① 执行初始化语句
② 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,执行循环体语句
③ 执行条件控制语句
④ 回到②继续执行条件判断语句
2、while循环
格式:
初始化语句:
while(条件判断语句){
循环体语句;
条件控制语句;
}
for和while的区别:
①for循环中:知道循环次数或者循环的范围
②while循环:不知道循环的次数和范围,只知道循环的结束条件。
3、do while语句
格式
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句);