选择语句
if if…else
switch
If语句的语法结构
第一种
if(布尔表达式){
java语句;
java语句;
java语句;
java语句;
。。。
}
第二种:
if(布尔表达式){
java语句;
java语句;
java语句;
java语句;
}else{
java语句;
java语句;
java语句;
java语句;
}
第三种:
if(布尔表达式){
java语句;
java语句;
java语句;
java语句;
}
else if(布尔表达式){
java语句;
java语句;
java语句;
}
第四种
if(布尔表达式){
java语句;
java语句;
java语句;
java语句;
}
else if(布尔表达式){
java语句;
java语句;
java语句;
}else{
java语句;
java语句;
}
2.重点:对于java中的if语句来说:只要有一个分支执行,整个if语句全部结束。
3、注意:以上的第三种编写方式和第四种编写方式都带有else分支,按这两种可以百分百保证有分支执行。
4、所有的控制语句都是可以嵌套使用的,只要合理嵌套就行
关于switch语句:
1.switch语句也属于选择结构,也是分支语句
2.switch语句的语法结构:
一个比较完整的switch语句应该这样编写:
switch(int或string类型的字面值或变量/表达式){
case int或string类型的字面值或变量:
java语句;
Java语句;
...
break;
case int或string类型的字面值或变量:
java语句;
Java语句;
...
break;
case int或string类型的字面值或变量:
java语句;
Java语句;
...
break;
case int或string类型的字面值或变量:
java语句;
Java语句;
...
break;
}
3.switch语句的执行原理:
switch后面小括号当中的“数据”和case后面的“数据”进行一一匹配,匹配成功的分支执行。按照自上而下的顺序依次匹配。
4.匹配成功的分支执行,分支当中最后有“break;”语句的话,整个switch语句终止。
5.匹配成功的分支执行,分支当中没有“break;”语句的话,直接进入下一个分支执行(不进行匹配),这种现象被称为case穿透现象。【提供break;语句可以避免穿透】
6.所有分支都没有匹配成功,当有default语句话,会执行default分支当中的程序。
7.switch后面和case只能是int或者String类型的数据,不能是探测其他类型。
- 当然btye,short,char也可以直接写道switch和case后面,因为它们可以进行自动类型转换,byte,short,char可以自动转换成int类型。
- JDK6的,switch和case后面只能探测int类型。
- JDK7之后包括7版本在内,引入新特性,switch关键字和case关键字后面可以探测int或String类型的数据。
-
case可以合并:
int i = 10; switch(i){ case 1: case 2: case 3: case 4: System.out.println("cool!") }