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

switch里面的变量不返回吗?

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

这种情况为什么不可以!

提问者:慕粉1143151228 2017-08-01 13:58

个回答

  • FKYSTART
    2017-08-01 14:18:10
    已采纳

    因为taocan没有初值;在判断未执行前tocan并没有值,故无法打印

  • 慕尼黑8885451
    2017-08-01 14:18:47

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

        }

  • 慕尼黑8885451
    2017-08-01 14:15:24

    不过要给taocan赋个初始值

  • 慕尼黑8885451
    2017-08-01 14:11:55

    我复制了你的代码可以执行