switch语句里不需要必须有break吗
2个回答
展开全部
switch语句里不需要必须有break。
当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。若常量表达式的量与所有case语句的常量都不相符,将继续执行default语句中的语句,然后结束switch语句。
扩展资料:
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
1、只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
2、switch()的参数类型不能为实型 。
3、case标签必须是常量表达式(constantExpression),如42或者'4'。
4、case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
展开全部
下面是switch的和break的使用方法:没有break的话,除非你能对条件进行精确控制,不然还要这switch有何用?
int i = 5;
switch(i){
case 0:
System.out.println("0");break;
case 1:
System.out.println("1");break;
case 2:
System.out.println("2");break;
default:
System.out.println("default");break;
情况一:若未找到,则执行默认的case。即全部都有break的时候输出:defalut
情况二:当每一个case都不存在break时,JVM并不会顺序输出每一个case对应的返回值,而是继续匹配,匹配不成功则返回默认case。即全部都没有break的时候会输出:defalut
情况三:当每一个case都不存在break时,匹配成功后,从当前case开始,依次返回后续所有case的返回值。即不存在break和当i=1的时候,会输出1,2,defalut
情况四:若当前匹配成功的case不存在break,则从当前case开始,依次返回后续case的返回值,直到遇到break,跳出判断。即当i=1且i=1的case里面没有break的时候,会出现从符合条件的地方输出,直到break跳出。
int i = 5;
switch(i){
case 0:
System.out.println("0");break;
case 1:
System.out.println("1");break;
case 2:
System.out.println("2");break;
default:
System.out.println("default");break;
情况一:若未找到,则执行默认的case。即全部都有break的时候输出:defalut
情况二:当每一个case都不存在break时,JVM并不会顺序输出每一个case对应的返回值,而是继续匹配,匹配不成功则返回默认case。即全部都没有break的时候会输出:defalut
情况三:当每一个case都不存在break时,匹配成功后,从当前case开始,依次返回后续所有case的返回值。即不存在break和当i=1的时候,会输出1,2,defalut
情况四:若当前匹配成功的case不存在break,则从当前case开始,依次返回后续case的返回值,直到遇到break,跳出判断。即当i=1且i=1的case里面没有break的时候,会出现从符合条件的地方输出,直到break跳出。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |