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

本文详细解析了Java中switch语句的使用方法,包括基本数据类型与引用类型的适用情况,如byte、long、String等,并通过实例展示了如何用switch进行整数匹配输出星期几。此外还介绍了使用switch时需要注意的细节,例如case后的值必须为常量、default的作用及位置建议、break的作用及是否可以省略等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
	}
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值