Java漫谈7

这次我们聊聊上次没有聊到的switch语句。

首先设想这么一种去吃饭的场景,我进到美食城,看着各种各样的餐馆,不知道吃什么好的时候,选择就变得尤其重要。我可以按照我的兴趣爱好选择,比如我喜欢吃清淡的,就可以去茶餐厅、港式餐厅。亦或是我需要速度非常块的,我就可以去肯德基、麦当劳。再或者,我喜欢吃面食的,就可以选择面馆。如果仅仅是按照以上这三类来划分的话,那么,便很容易用if语句完成判断。但如果划分的标准由三个变成10个呢,那么if语句就显得太过繁琐了。

而此时用switch的话,就会显得简洁。

如果你初学编程,尤其是学Java,switch你是绕不过去的。而当你学习的时候,折腾你的可能还不是switch的定义,而是switch的语法,尤其是break的用法。就是今天我自己用switch的时候,遇到break的地方也要多留神,尤其是程序在switch语句这块出问题的时候,尤其会注意检查break使用。

在switch中,每一个case中若有break,则执行完该case之后就直接跳出switch判断了,反之,如果没有break,则执行完该case之后,还会接着判断下面的case是否符合条件,如果符合的话,就会进入到那个case内部的程序执行,如此循环,直到执行完毕。

今天我们主要聊了下switch 中 break 的一个小的注意点,希望对你使用switch有帮助。

SWITCH 清单

  1. Java中面对多个选择时可以直接使用switch,这样逻辑上简洁。
  2. switch中break的用法是个坑,有它时,case执行完就跳出switch判断了。没有它,case执行完毕,会继续进行下一个case的判断。
  3. switch可以让if的判断显得简洁,但是如果switch语句搞定不了,还是建议换成if判断。

原文发布于微信公众号 - 怀英的自我修炼(hydzwxl)

原文发表时间:2017-10-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

3955
来自专栏杨龙飞前端

scrollto 到指定位置

2484
来自专栏落花落雨不落叶

canvas画简单电路图

58311
来自专栏hbbliyong

WPF Trigger for IsSelected in a DataTemplate for ListBox items

<DataTemplate DataType="{x:Type vm:HeaderSlugViewModel}"> <vw:HeaderSlug...

4054
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

2898
来自专栏魂祭心

原 canvas绘制clock

4004
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6588
来自专栏跟着阿笨一起玩NET

c#实现打印功能

2612
来自专栏飞扬的花生

jsencrypt参数前端加密c#解密

      写程序时一般是通过form表单或者ajax方式将参数提交到服务器进行验证,如何防止提交的请求不被抓包后串改,虽然无法说绝对安全却给非法提交提高了难度...

3849

扫码关注云+社区