选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- switch多选择结构
if选择结构
-
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
-
语法:
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }
if双选择结构
-
语法:
if(布尔表达式){ //如果布尔表达式为true将执行的语句 }else{ //如果布尔表达式为false将执行的语句 }
if多选择结构
-
语法:
if(布尔表达式1){ //如果布尔表达式1为true将执行的语句 }else if(布尔表达式2){ //如果布尔表达式2为true将执行的语句 }else if(布尔表达式3){ //如果布尔表达式3为true将执行的语句 }else{ //如果以上布尔表达式都不为true将执行的语句 }
if嵌套结构
-
语法
if(布尔表达式1){ //如果布尔表达式1为true将执行的语句 if(布尔表达式2){ //如果布尔表达式1为true将执行的语句 } }
switch多选择结果
-
多选择结构还有一个实现方式就是switch case语句
-
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
-
语法:
switch(表达式){ case 值1; //满足值1执行的语句 break;//可选 case 值2; //满足值2执行的语句 break;//可选 case 值3; //满足值3执行的语句 break;//可选 default;//可选 //以上都不满足执行的语句 }
-
switch语句中的变量类型可以是:
- byte,short,int或者char
从Java SE 7开始,switch支持字符串String类型了
- 同时case标签必须为字符串常量或字面量
注:注意case穿透,如果一个case匹配成功了,则后面的语句都会进行输出
代码示例:
public class Test {
public static void main(String[] args) {
char grade = 'A';
switch(grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
case 'C':
System.out.println("及格");
case 'D':
System.out.println("差");
default:
System.out.println("未知");
}
}
}
运行结果:
若将上面代码中的 char grade = ‘A’ 改成 char grade = ‘B’,则输出的结果为:
分析:由于case’B’,case’C’,case’D’语句结束后没有跟break语句,则进行了case穿透,当符合了grade=‘B’则将之后的所有语句都执行了,所以将“良好,几个,差,未知”都进行了输出;而case’A’后写了break语句,当grade匹配A成功后输出了“优秀”之后,程序走到了break就不继续执行了,所以后面的内容都不会输出。