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

关于输出全部case块的问题

例子中有这么一种情况:没有遇见break时输出所有case块内容,但是以习题来说的话为什么不可以全部输出呢?

https://img4.mukewang.com/5d47cd7b00011cf503810410.jpg

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


提问者:慕运维3449123 2019-08-05 14:35

个回答

  • 慕桂英0595451
    2019-08-05 15:39:35
    已采纳

    但如果改成char today='一';  就会全部输出了

  • CarrolChen
    2019-09-02 19:00:52

    因为你输入的是日,已经排在最后面一个,所以前面的输出你是看不到的,假设你输入的是一,后面会全部输出的,记住,switch遇到break后就会立刻停止语句体的执行。

  • 慕运维1495087
    2019-08-07 13:55:44

    例子的情况是执行符合条件方案后如果没有碰到break就会把接下去的方案也执行了直至没有方案    你这个是符合条件的方案已经是最后一个方案了  接下去没方案执行  所以结果也只执行最后一个方案

  • 卡布诺依
    2019-08-06 14:23:18

    你没有加 break 语句。
     

    System.out.println("早餐吃包子");

     break;