1.单分支if语句
if语句:如果满足某种条件,就进行某种处理
格式: if(条件 ){
代码块
}
执行规律:
(1)对条件的结果进行判断。
(2)如果条件的结果为true,执行大括号里的语句。
(3)如果条件的结果为false,跳过大括号里的语句,执行if结构后面的语句。
注意事项:
(1)条件的结果只能是布尔类型的值
(2)如果条件后大括号中的语句只有一句,大括号可以省略不写,但建议写上。
2. 双分支if语句
语法格式:
if(条件){
代码块1
}else{
代码块2
}
执行规律:
(1)对条件的结果进行判断。
(2)如果条件的结果为true,执行代码块1。
(3)如果条件的结果为false,执行代码块2。
注意事项:
else子句不能单独使用,它必须是if语句的一部分,与最近的if语句配对使用
3. 多分支if语句
语法格式:
if(条件1){
代码块1
}else if(条件2){
代码块2
}else if(条件3){
代码块3
}
......
}else{
代码块n
}
执行规律:
(1)对条件1的结果进行判断。
(2)如果条件1的结果为true,执行代码块1;如果条件1的结果为false,则判断条件2的结果
(3)如果条件2的结果为true,执行代码块2;如果条件2的结果为false,则判断条件3的结 果
(4)如果所有条件都为false,则执行else里的代码块n。
注意事项:
(1)不论多分支if语句中有多少个条件,只会执行符合条件的一个,如果没有符合条件的, 则执行else子句中的代码。
(2)else if语句可以有多个。
(3)else语句可以省略。
(4)多分支if语句的各个条件排列是有顺序的,从上到下条件越来越宽松。
(5)如果if语句或else子句中要执行的语句超过一条,则必须将这些语句用大括号括起来。
4.嵌套if控制语句
语法格式:
if(条件1){
if(条件2){
代码块1
}else{
代码块2
}
}else{
if(条件3){
代码块3
}else{
代码块4
}
}
执行规律:
(1)对条件1的结果进行判断。
(2)如果条件1的结果为true,再对条件2的结果进行判断。如果条件2的结果为true,则执 行代码块 1;否则,执行代码块2。
(3)如果条件1的结果为false,再对条件3的结果进行判断。如果条件3的结果为true,则 执 行代码块;否则,执行代码块4。
注意事项:
(1)不管if选择结构怎么嵌套,只需要抓住,条件满足才执行if后面{}里的代码,不满就不 执行,执行其它地方的代码
(2)else子句不能单独使用,它必须是if语句的一部分,与最近的if语句配对使用
5. switch语句
语法格式:
switch(表达式){
case 常量 1:
代码块1;
break;
case 常量 2:
代码块2;
break;
case 常量 3:
代码块3;
break;
......
default:
代码块n;
break;
}
执行规律:
(1)计算表达式的值。
(2)根据表达式的值,去匹配相应case后的常量值,执行相应代码块
(3)执行完代码块后,执行break,结束整个switch选择结构,
(4)遇到break语句就结束,继续 往下执行switch选择结构后面的代码
(5)如果表达式的值与所有的case常量值都不匹配,则执行default语句中的代码n,再执 行 break 结束整个switch选择结构,继续往下执行switch选择结构后面的代码
知识点:
(1)switch条件语句的表达式结果只能是int类型、short类型、byte类型、char类型、枚 举 类型、String类 型 而不能是布尔 类型的值(JDK1.7以后)。
(2)switch、case、break、default是Java关键字
(3)case用于与表达式进行匹配。
(4)switch中case常量值不能相同。
(5)case穿透:如果case后没有break语句,程序将继续向下执行,直到遇到break语句 或 switch 语句程序运行才结束
(6)break用于结束switch选择结构,如果没有break,会产生“case穿透”现象
(7) default是可选的,当其他条件都不匹配时执行default。
(8)default语句可以省略不写,当表达式的值与所有case常量值不匹配并且没有default语 句,那么整个switch结构就不执行
(9)default语句可以在任意位置书写,但一般写在switch结构的末尾。
switch与多重if选择结构异同点
相同点:
都是用来处理多分支条件的结构
不同点:
switch选择结构只能处理等值条件判断的情况,而多重if选择结构既能处理某个变 量处于 某个连续区间时的情况,也能处理等值条件判断的情况