流程控制语句--------选择结构switch面试题及练习(2-2-2)

1.面试题

 byte可以作为switch的表达式吗?        //可以
 long可以作为switch的表达式吗?       //不可以
 String可以作为switch的表达式吗?    //可以

class Demo1_Switch {
	public static void main(String[] args) {
		int x = 10;
		switch(表达式) {		//基本数据类型可以接收byte,short,char,int
		case 值1:	//引用数据类型可以接收枚举(JDK1.5)String字符串(JDK1.7)
		        语句体1;
		break;
		case 值2:
			语句体2;
		break;
		…
		default:	
			语句体n+1;
		break;
	}
		 
		
	}
}

2.整数(给定一个值,输出对应星期几)

class Test1_Switch {
	public static void main(String[] args) {
		
		int week = 1;
		switch (week) {
		case 1:
			System.out.println("星期一");
		break;
		case 2:
			System.out.println("星期二");
		break;
		case 3:
			System.out.println("星期三");
		break;
		case 4:
			System.out.println("星期四");
		break;
		case 5:
			System.out.println("星期五");
		break;
		case 6:
			System.out.println("星期六");
		break;
		case 7:
			System.out.println("星期日");
		break;
		default:
			System.out.println("对不起没有对应的星期");
		break;
		}
	}
}

3.注意事项

  a.case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

  b.default可以省略吗?
        * 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
        * 特殊情况:
            * case就可以把值固定。
            * A,B,C,D

   c.break可以省略吗?
        * 最后一个可以省略,其他最好不要省略
        * 会出现一个现象:case穿透。
        * 最终我们建议不要省略
   d:default一定要在最后吗?
        * 不是,可以在任意位置。但是建议在最后。
   e:switch语句的结束条件
        * a:遇到break就结束了
        * b:执行到switch的右大括号就结束了

4.看程序写结果

        int x = 2;
        int y = 3;
        switch(x){
            default:
                y++;
                break;
            case 3:
                y++;
            case 4:
                y++;
        }

class Test2_Switch {
	public static void main(String[] args) {

		int x = 2;
		int y = 3;
		switch(x){
		default:
			y++;
		break;
		case 3:
			y++;
		case 4:
			y++;
		}
		System.out.println("y="+y);      //y=4
	
	}
}

5.看程序写结果

int x = 2;
        int y = 3;
        switch(x){
            default:
                y++;
            case 3:
                y++;
            case 4:
                y++;
        }
        System.out.println("y="+y);

class Test2_Switch {
	public static void main(String[] args) {

		int x = 2;
		int y = 3;
		switch(x){
		default:
			y++;
		case 3:
			y++;
		case 4:
			y++;
		}
		System.out.println("y="+y);    //y=6
	}
}

猜你喜欢

转载自blog.csdn.net/mqingo/article/details/81539611