(四)Java基础语法之程序流程控制(分支结构)

(1)if-else

第一种:

if(条件表达式){

        执行表达式

}

第二种(二选一):

if(条件表达式){

        执行表达式1

}else{

        执行表达式2

}

第三种(多选一):

if(条件表达式){

        执行表达式1

}else if(条件表达式){

        执行表达式2

}else if(条件表达式){

        执行表达式3

}

.......

else

说明:①else结构是可选的

           ②针对于条件表达式:

              >如果多个条件表达式之间是”互斥“关系(没有交集的关系),则不管哪个判断和执行语句声明在上面还是在下面均无所谓

             >如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。

             >如果多个条件表达式之间有包含的关系,通常需要将范围小的声明在范围大的上面,否则范围小的就没机会执行。

if-else语句当执行完其中一条语句时,直接出去了,不再继续执行下面的语句,例如下例中的score如果大于80,则执行完输出B,下面的C不再输出。

if(score=100){
    System.out.println("A");
}else if(score>80){
    System.out.println("B");
}else if(score>=60){
    System.out.println("C");
}else{
    System.out.println("D");
}

当把范围大的放在范围小的上面,如下面的例子,则当score>60时,输出C后就不再执行输出B的语句,则不符合题意

if(score=100){
    System.out.println("A");
}
}else if(score>=60){
    System.out.println("C");
}else if(score>80){
    System.out.println("B");
}else{
    System.out.println("D");
}

if-else结构可以嵌套使用。

总结:对于第一种if结构,每个if语句属于独立分支结构,执行完第一个若仍符合第二个if判断表达式,则继续往下执行。

对于二选一或多选一的if结构,执行完一个if,就不再继续往下执行。

(2)switch结构

switch(表达式){

case 常量1:

        语句1;

        break;(可选)

case 常量2:

        语句2;

        break;

..........

default:

        语句;

        break;

}

说明:

①根据switch表达式中的值,依次匹配各个case中的常量,一旦匹配成功,则进入相应的case结构中,调用其执行语句。然后继续向下执行其他case中的执行语句,直到遇到break关键字或switch-case结构末尾结束为止。

②break使用在switch-case中,表示一旦执行到此关键字就跳出该结构。

③switch结构中的表达式,只能是如下的6种类型:

byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)

④case之后只能声明常量,不能声明范围。

⑤break关键字是可选的。可根据实际情况考虑是否需要break。

⑥当多个case的执行语句相同时,可以考虑合并。

注:凡是可以使用switch-case的结构,都可以转换为if-else。我们写分支结构时,当发现既可以使用switch-case(同时,switch中表达式的取值情况不太多),又可以使用if-else时,我们优先选择switch-case,因为switch-case效率稍高。另外,二者也可以嵌套使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值