学习编程的第二十五天

一般形式:

switch(表达式){
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;

case 常量表达式n: 语句n;
default: 语句n+1;

}

意思是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。

与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句;

                       而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。在每一case语句之后增加break 语句,                            使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。

1、switch语句
语法格式:
switch(表达式){
case 常量 1:
语句;
break;
case 常量 2:
语句;
break;

default:
语句;
break;
}
–>switch、case、break、default是Java关键字
–>JDK1.7后,switch后的表达式可以是int、short、byte、char、枚举类型、String类型表达式。
–>case用于与表达式进行匹配。
–>break用于终止后续语句的执行。
–>default是可选的,当其他条件都不匹配时执行default。
执行规律:
1)计算switch后表达式的值。
2)将计算结果从上至下依次与case后的常量值比较。
3)如果相等就执行该常量后的代码块,遇到break语句就结束。
4)如果与任何一个case后的常量值都不匹配,就执行default中的语句。
注意事项:
1)如果case后没有break语句,程序将继续向下执行,直到遇到break语句或switch语句结束----“case穿透”。
2)case常量值不能相同。
3)default语句可以在任意位置书写,但一般写在switch结构的末尾。也可以省略不写。

2、 switch与多重if异同点
相同点:
都是用来处理多分支条件的结构
不同点:
switch选择结构只能处理等值条件判断的情况
多重if选择结构既能处理某个变量处于某个连续区间时的情况,也能处理等值条件判断的情况

执行规律:
根据表达式的结果,去匹配case后面的常量值,匹配上哪一个常量值,就执行里面的代码块,执行完代码块执行break,结束整个switch选择结构,继续往下执行switch选择结构后面的代码
如果表达式的值与所有的case常量值都不匹配,则执行default语句中的代码m,再执行break结束整个switch选择结构,继续往下执行switch选择结构后面的代码
注意事项:
1)表达式的值可以是int、short、byte、char、枚举类型、String类型(JDK1.5版本以后)
2)switch中case常量值不能相同
3)default语句相当于if选择结构中的else语句,当表达式的值与所有的case常量值不匹配的时候,执行default里的语句
4)default语句可以省略不写,当表达式的值与所有case常量值不匹配并且没有default语句,那么整个switch结构就不执行
5)default语句可以写在switch结构中任意位置,但一般写在switch结构的最后位置
6)break的作用是结束switch选择结构,如果没有break,会产生“case穿透”现象,这个现象可以合理使用

         		switch选择结构和多分支if选择结构的异同点:
         			相同点:
         				都是能处理多分支的情况
         			不同点:
         				switch选择结构只能处理等值情况
         				多分支if选择结构既可以处理等值情况,也可以处理变量处于某个连续值的情况  
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值