返回第十六章 逻辑怪和选择狂(下)(2 / 2)任煦之秋首页

关灯 护眼     字体:

上一页 目录 下一章

姓名:switch

身份:混沌先民

出身年月:1972年初

技能:算无遗策」

「咦,这个switch听起来好像在混沌先民中是个智慧担当。」

「很相近了!我们先来做个小调查,在平时生活中,有没有需要你做选择,但你又觉得很难作出选择的情况?比如说你和好朋友中午去食堂吃饭,看着十几种菜,纠结半天不知道吃哪几样?」

「嗯呐嗯呐,经常都有这种感觉!」

我点了点头。

「这个叫做困难选择症,很多人都有这个问题。当然了,我们的混沌先民也不例外。

在推动程序世界发展的过程中,往往有很多事情需要混沌先民作出选择,但是它们和我们一样,都有选择困难症。这个时候,switch这个家伙就顺势而生了。其他人只需要把选项以及相关信息告诉它,它能立刻作出最正确的选择!」

「这么看来,这个switch还挺厉害的呀!」

「有道是一个篱笆三个桩,switch之所以能够快速果决地做出正确的选择,还和它的三个小伙伴密不可分,它们分别是:case、default和break。」

「哦哦,这么看来这个switch好像很难的样子呀!」

我皱着眉头说道。

「嗯~,说难也不难,说简单也不简单。这样,我们还是以一个具体的例子来说明。用什么例子呢?有了!」

老爹右手握成拳,用手背撞向左手掌,双眼之中迸射出智慧的光芒。

话音未落,老爹从口袋里把手机掏了出来,不由分说拨通了电信的客服电话10000。

「您好,欢迎致电中国电信,查询服务请按1,业务咨询请按2,业务办理请按3,如需其他帮助请按0……」

在几声「嘟」之后,手机里顿时传了电信客服妹子甜美的声音。

在老爹的怂恿下,我把选项都尝试了一遍,还和人工客服聊了会儿天。

「呐,switch就和刚刚的客服功能差不多,你输入相应的数字,switch就能帮你做对应的事情,现在我们就用switch来实现一下刚刚客服的功能。」

「哦,原来switch是客服小姐姐啊~」

我若有所思地说道。

「哈,这么说也没有错了。好吧,那我就带你来实现这个客服小姐姐:

switch(按键)

{

case 1:

查询服务

break;

case 2:

业务咨询

break;

case 3:

业务办理

break;

case 0:

其他帮助

break;

&:

4~9

break;

}」

「case和default我现在知道是什么意思了,那这个break呢?」

「这个是个很重要的知识点,往往有很多初学者都会忘记写break,所以在写了case后,一定要马上写break,以免忘记。至于break嘛,它俗称混沌先民中的终结者,能耐大了去了。

假设现在你按下了1,按道理说应该是走case 1进行查询服务,结果不巧的是你忘了加break,这个时候就会继续走case 2。要是case 2也没有加break,程序就会挨着往下面执行,直到遇到break为止。

如果在所有的case和default都没有break,就会从匹配的case项依次执行,直到switch结束。对了switch中可以有多个case,但只能有一个default!」

「我现在开始理解为什么老爹你说switch是选择狂了,看来做选择这种费力的事情还真得交给它来做。但是我有一个疑问。」

「说说看~」

「我发现刚刚那个客服小姐姐用if也可以实现啊,这么看来if和switch的功能产生了重叠,这样switch不是可有可无的存在了么?」

「这个问题问得非常好,switch看起来就像是if…else if…else的特例,但是在case比较多的时候,就必须让if修出比较多的else if分身出来,这样是比较耗费修为的,而且可读性也没有switch好。

总的来说就是,switch的效率更高,可读性更好,所以在能够使用switch的时候尽量使用它。

当然了,switch也有它自己的缺点,就是给它的关键信息如刚刚例子中的按键只能是一个确定的值,不能是范围。」

『加入书签,方便阅读』

上一页 目录 下一章