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 条评论
登录 后参与评论

相关文章

来自专栏lhyt前端之路

node框架express的研究0.前言1. 从入口开始1.1入口1.2 proto1.2.1 app.init方法1.2.2 app.handle方法1.2.3 每一个method的处理1.2.4

在node中,express可以说是node中的jQuery了,简单粗暴,容易上手,用过即会,那么我们来试一下怎么实现。下面我们基于4.16.2版本进行研究

503
来自专栏抠抠空间

jQuery基础

一、jQuery是什么? jQuery是一个轻量级的、兼容多浏览器的JavaScript库。 jQuery使用户能够更方便地处理HTML Documen...

28012
来自专栏coding for love

CSS常用布局实现05-圣杯布局和双飞翼布局

其实对于三列布局的实现,之前网上使用最多的还是这两种。它们有一个共同的优点,就是可以使主内容优先加载。当然,如果不考虑兼容,flex和grid还是优先推荐的。

522
来自专栏技术墨客

React 列表、键值与表单

例子中使用map方法将每个元素的值*2,最后得到的数组为:[2, 4, 6, 8, 10]。在React中,处理组件数组的方式与之类似。

993
来自专栏Jerry的SAP技术分享

使用JavaScript给对象修改注册监听器

我们在开发一些大型前端项目时,会遇到这样一种情况,某个变量上有个字段。我们想知道是哪一段程序修改了这个变量上的字段。比如全局变量window上我们自定义了一个新...

552
来自专栏进击的君君的前端之路

即时通讯系统(一)

1174
来自专栏QQ音乐技术团队的专栏

Android DataBinding 数据绑定

引子 几年前,数据绑定在便已在前端界风生水起,Angular.js、React.js、vue.js等热门前端框架都具备这种能力。 数据绑定简单来说,就是通过某种...

3026
来自专栏web编程技术分享

js常用方法和一些封装(3) -- dom相关

34510
来自专栏喵了个咪的博客空间

phalapi-进阶篇2(DI依赖注入和单例模式)

#phalapi-进阶篇2(DI依赖注入和单例模式)# ? ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框...

3095
来自专栏大史住在大前端

js中如何在不影响既有事件监听的前提下新增监听器

比如某个按钮已经绑定了2-3个对Window对象的load事件的监听,现在需要添加一个新的对click事件的监听器,但在一定条件下才会同时触发原有的2-3个lo...

614

扫码关注云+社区