04 Java选择结构switch

switch语句(用途和嫁接性比if语句弱,实际工作开发中使用场景没有if语句多)

switch语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支(等值判断)

 

switch语句有如下规则:

switch(mingci){         //switch开关

    case 1:                 //案例

        System.out.println(“出任武林盟主”);

        break;             //跳出

    case 2:

        System.out.println(“出任武当掌门”);

        break;

    default:                    //默认值

        System.out.println(“逐出师门”);

}

说明:

1、switch语句中的变量(mingci)可以是:byte、short、int或者char从Java SE7开始,switch支持字符串类型了,同时case标签 必须为 字符串常量 或 字面量;

2、switch语句可以拥有多个case语句,每个case后面跟一个要比较的 值 和 冒号;

3、case语句中的 值的数据类型 必须与 变量的数据类型 相同,而且只能是 常量 或者 字面常量;

4、当变量的值与case语句的值相等时,(确定开始位置)那么case语句之后的语句开始执行,直到break语句出现才会跳出switch语句(if语句只执行布尔表达式为true的语句块,其他else...if即else直接跳出)

5、当遇到break语句时,switch语句终止。程序跳转到switch语句后面的语句执行。case语句不必须要包含break语句。如果没有break语句出现,程序会执行下一条case语句,直到出现break语句;

6、switch语句可以包含一个default分支,该分支必须是switch语句的最后一个分支。default在没有case语句的值和变量值相等的时候执行。default分支不需要break语句。

 

if语句和switch语句的区别:

相同点:都是用来处理 多分支条件 的结构

不同点:

  1. if语句的执行条件是 布尔表达式,也就是说只要结果为boolean就可以;switch语句接受byte,short,int和char,后来才支持字符串,且只能处理等值条件的情况(if适合变量处于某个连续区间的情况)
  2. if...else系列语句仅且运行由上而下的一个true条件语句块,执行一条后就跳出;switch语句中case是确定开始执行的位置,直到遇到break或者default才跳出
  3. if...else语句系列往往对布尔表达式顺序有要求;switch对顺序没有严苛要求

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值