01、流程控制语句
- 流程控制语句:通过一些语句,来控制程序的【执行】流程
流程控制语句分类
1.顺序结构(程序默认):Java程序默认的执行流程,没有特定的语法结构,按照代码先后顺序,依次执行程序中大多数的代码都是这样执行的。
2.分支结构(if、switch)
3.循环结构(for、while、do...while)
02、if语句
第一种格式:
if(判断条件){
语句体;
}
执行流程:
1.首先计算判断条件的结果
2.如果条件的结果为true就执行语句体
3.如果条件的结果为false就不执行语句体
注意事项:
1.if语句()和{}之间不要写分号
2.if语句{}中,如果是一条语句,{}可以省略不写的
3.if语句()中,无论简单还是复杂,只要是有true,fasle的结果,就可以正常执行
第二种格式:
if(判断条件){
语句体1;
}else{
语句体2;
}
执行流程:
1.首先计算判断条件的结果
2.如果条件的结果为true就执行语句体1
3.如果条件的结果为false就执行语句体2
第三种格式:
if(判断条件){
语句体1;
}else if{
语句体2;
}
....
else {
语句体n+1;
}
执行流程:
1.首先计算判断条件1的值
2.如果值为true就执行语句体1;如果值为false就计算判断条件2的值
3.如果值为true就执行语句体2;如果值为false就计算判断条件3的值
4.。。。。
5.如果没有任何判断条件为true,就执行语句体n+1。
注意事项:
只要执行了其中的某一块的语句体,就会退出循环判断,下面的判断条件即使为true,也不再执行里面的语句体。
03、switch语句
语句格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
.....
default:
语句体n+1;
break;
}
说明:
- 表达式:(将要匹配的值)取值为byte、short、int、charJDK5以后可以是枚举,JDK7之后可以是String。
- case:后面跟的是要和表达式进行比较的值(被匹配的值)。
- break:表示中断,结束的意思,用来结束switch语句。
- default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
执行流程:
1.拿着()中将要匹配的值,跟case后面的给出的选项,进行匹配,匹配成功后就执行对应的语句体,然后由break语句来结束掉整个的switch。
2.如果给出的case值,全部匹配失败,将会执行最后的default。
注意事项:
1.case后面的值不允许重复。
2.case后面的值只能是常量,不能是变量。
3.switch语句()中可以接受的类型
1)基本数据类型 byte short char int
2)引用数据类型 jdk5开始,可以是枚举,jdk7开始可以是String字符串了
4.如果switch语句中,省略了break语句,将会开启case穿透现象(不会跳出switch,会继续向下执行下面的语句体,一直执行到break之前的语句体。)
扩展:JDK14开始,switch语句对case进行了特殊的支持
if语句和switch语句使用选择:
1.如果是范围性的判断查找,推荐使用if语句。
2.如果是固定值的匹配,推荐使用switch语句。
作者:有梦想的白砂糖
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。