问答详情
源自:4-6 Java条件语句之 switch

为什么case语句不能用字符串?

public class HelloWorld {
    public static void main(String[] args) {
		char today='日';
		switch(today){
    	 case "一、三、五":
             System.out.println("早餐吃包子");
             break;
         case "二、四、六":
             System.out.println("早餐吃油条");
             break;
         case "日":
             System.out.println("早餐吃主席套餐");
             break;
		}
	}
}


提问者:慕村0132041 2016-09-30 09:41

个回答

  • 慕村0539131
    2016-10-15 18:54:55

    你这道题的判断条件是一或二或三........其中一个就可以了,你字符串输出一串系统是无法判断的,如果今天是星期一,下面的判断条件有case '一'才能往下进行。你的case后如果是一串字符串系统无法找到其中的任何一天

  • 风中打伞的小孩
    2016-10-01 15:43:43

    可以的,只不过 char today='日'; 改为 String today="日"; 毕竟case后为String类型的,还有一点很重要,jdk1.7以上版本

  • 慕侠8735126
    2016-09-30 10:47:32

    switch后面的表达式或变量表示的是有很多种取值的量,而case后的常量值就是switch的变量可能取到的值得一种

  • 墨离鎏香
    2016-09-30 10:05:50

    因为你的today关键字是char类型,而不是String类型