浅谈 switch-case

  • switch-case 是 多分支选择语句
    从功能上讲,它和 if 语句是可以相互替换的,但是他们又各有各的特点:
    当嵌套的 if 较少时(一般三个以内),使用 if 编写程序看着会比较简洁,但当嵌套的 if 语句太多时,会使代码冗长,可读性下降。故:当要嵌套的 if 语句过多时,可以使用 switch 语句来处理

  • switch 语句格式:

switch(表达式){
	case 常量表达式1:
		语句1
		break;		// 可选
	case 常量表达式2:
		语句2
		break;		// 可选
	...
	case 常量表达式n:
		语句n
		break;		// 可选
	default:
		语句n+1
}

【注】
(1)switch 后面括号内的表达式必须是整数型,即可以是 int 型 或 char 型 的变量,也可以直接是 整数 或 字符常量;
(2)当 switch 后括号内的 表达式 值与某个 case 后 常量表达式 值相等时,就执行该 case 里的语句;
(3)若所有 case 中 常量表达式 的值与 switch 后括号内 表达式 的值都不相等,就执行 default 里的语句;
(4)每个 case 后面的 常量表达式的值 必须互不相同;
(5)各个 case 和 default 的出现次序不影响执行的结果;
(6)default 后面可以什么都不写,但是后面的 冒号分号 不可以省略
(7)在执行 switch-case 结构时:如果遇到了break,就会跳出这个 switch-case;如果省略 break,就会往下一个 case 项穿透,直到遇到 break 或这个 switch-case 结束为止;

  • 易错提醒:
public static int getValue(int i){
        int result = 0;
        switch (i){
            case 1:
                result = result + i;
            case 2:
                result = result + i * 2;
            case 3:
                result = result + i * 3;
        }
        return result;
    }

当输入为 2 时,输出为10,而不是4
因为 case 后面没有 break,执行完 case 2:里的语句后会继续执行下面的 case 语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值