文章详情页
阿里巴巴Java开发手册关于switch的问题
浏览:134日期:2023-11-04 11:40:39
问题描述
在一个 switch 块内,每个 case 要么通过 break/return 等来终止,要么注释说明程序将继续执行到哪一个 case 为止; 在一个 switch 块内,都必须包含一个 default 语句并且放在最后,即使它什么代码也没有。这是为什么?
问题解答
回答1:switch case中default是很有必要的,哪怕仅仅是个控制台输出。比如你有3个case,’1’,’2’,’3’.但是你在某些情况下不小心传入了4,这时候如果没有default,程序就崩溃了,有时候可以把default看成是异常处理的一种。当然,default也是懒人处理问题的不错选择。还是之前的123,只有1的时候输出’hello world’,其他都输出’nice to meet you’.如果不用default你可能要写好几个case来对应,default的话就一个case就够了。除了1,其他都走default。return/break的问题,还是上文的3个case, 1,2,3。如果1的逻辑执行完没有return/break来结束,那2的逻辑也会跟着执行,直到遇到return/break为止。当然这种情况是合法的。但是有些时候我们只想执行case 1中的逻辑,那就必须在1的逻辑后加return/break,否则多执行的2的逻辑,就会导致其他地方的逻辑错误。
大概就是这个意思,没什么太多的内容。
标签:
java
相关文章:
1. ddos - apache日志很多其它网址,什么情况?2. 怎么在phpstudy中用phpexcel上传数据到MYSQL?3. javascript - 百度搜索网站,如何让搜索结果显示一张图片加上一段描述,如图;求教4. 二维数组怎么重新组合5. docker绑定了nginx端口 外部访问不到6. laravel+CRUDBooster操作过程中偶尔会自动登出7. php由5.3升级到5.6后,登录网站,返回的是php代码,不是登录界面,各位大神有知道的吗?8. javascript - 如何在同一台电脑上配置不同主机的2个git账号?9. 发现了多个名称为[spring_web]的片段。相对顺序不合法10. android - 使用vue.js进行原生开发如何进行Class绑定
排行榜
