java中switch语句的规则

switch语句格式:
        switch(表达式) {
            case 值1:
                语句体1;
                break;
            case 值2:
                语句体2;
                break;
            ...
            default:
                语句体n+1;
                break;
        }
        
 格式的解释:
        switch:表示这是switch选择结构
        表达式:这个地方的取值是有限定的
            byte,short,int,char
            JDK5以后可以是枚举
            JDK7以后可以是字符串
        case:后面跟的是要和表达式进行比较的值
        语句体:要执行的代码
        break:表示中断,结束的意思,可以控制switch语句的结束。
        default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。
    
面试题:
        byte可以作为switch的表达式吗? 可以
        long可以作为switch的表达式吗?    不可以
        String可以作为switch的表达式吗?    JDK7以后可以

switch语句的注意事项:
        A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
        B:default可以省略吗?
            可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
            特殊情况:
                case就可以把值固定。
                A,B,C,D
        C:break可以省略吗?
            可以省略,但是结果可能不是我们想要的。
            会出现一个现象:case穿透。
            最终我们建议不要省略
        D:default一定要在最后吗?
            不是,可以在任意位置。但是建议在最后。
        E:switch语句的结束条件
            a:遇到break就结束了
            b:执行到末尾就结束了

/*
	看程序写结果
*/
class SwitchTest {
	public static void main(String[] args) {
		int x = 2;
		int y = 3;
		switch(x){
			default://并非先执行default,而是先比对case
				y++;//比对完case后,执行default,最终输出4
				break;
			case 3:
				y++;
			case 4:
				y++;
		}
		System.out.println("y="+y);
		System.out.println("---------------");
		
		int a = 2;
		int b = 3;
		switch(a){
			default://并非先执行default,而是先比对case,
                    //比对完case后,执行default,b++,又因为没有break,继续向下顺序执行,并且不管a与case后的数是否相等,都执行了b++操作,最终输出6
				b++;
			case 3:
				b++;
			case 4:
				b++;
		}
		System.out.println("b="+b);
	}
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值