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

相关文章

来自专栏ThoughtWorks

语言设计中的鸭子类型风格

image.png #思特沃克好声音# (图片:网络) 在动态语言的世界里一直流传着一种叫做鸭子类型的风格,其来自谚语:“如果行鸭子一样走路,像鸭子一样呱呱叫...

2967
来自专栏蛋未明的专栏

[推荐]php编码规范

3894
来自专栏Java3y

给女朋友讲解什么是代理模式

2585
来自专栏机器之心

这些Python代码技巧,你肯定还不知道

人们还经常把 Python 笑称为「可执行伪码(executable pseudocode)」。但是,当你可以编写这样的代码时,很难去反驳这种言论:

1153
来自专栏tkokof 的技术,小趣及杂念

移动开发之浅析cocos2d-x的中文支持问题

  题记:这阵子一直在学习cocos2d-x,其跨平台的特性确实让人舒爽,引擎的框架概念也很成熟,虽然相应的第三方工具略显单薄,但也无愧是一件移动开发的利器啊,...

902
来自专栏二进制文集

Java 与 C/C++ 的编译器对比

这两天重温了周志明的《深入理解Java虚拟机》第2版,发现第11章第4节关于 Java 编译器的内容写得太棒了~本文完全摘自《深入理解Java虚拟机》第2版 0...

1756
来自专栏机器学习算法与Python学习

python初学者的建议

Python是一种非常富有表现力的语言。它为我们提供了一个庞大的标准库和许多内置模块,帮助我们快速完成工作。然而,许多人可能会迷失在它提供的功能中,不能充分利用...

42612
来自专栏企鹅号快讯

Python 相较于Java 而言,有什么优势?

最近在后台,有很多的同学私聊我说,Python和Java.,哪个具有前景呢?今天我们就来简单的讲一下这两者的区别: 我认为C, Java跟Python都是非常成...

2416
来自专栏java一日一条

编写高质量代码的思考

最近在看《代码大全》,可以说是一本软件开发的百科全书,特别厚,但是干货也很多。平时写代码,代码规范是一个最低的要求(很多老代码连最低要求都达不到),为什么要这样...

942
来自专栏星汉技术

Scala简介和安装

2986

扫码关注云+社区