Switch语句的技巧
概述
switch语句对一个表达式求值,将结果与 case 子语句比较,如果匹配,则从 case 处的语句向下执行。
语法
break;语句是可选择的,如果遇到break;则会跳出整个switch语句。如果没有任何case匹配,则进入到default:的分支。default:分支也是可选的。
switch (expression) { case value1: // 当 expression 的结果与 value1 匹配时,从此处开始执行 statements1; [break;] case value2: // 当 expression 的结果与 value2 匹配时,从此处开始执行 statements2; [break;] ... case valueN: // 当 expression 的结果与 valueN 匹配时,从此处开始执行 statementsN; [break;] default: // 如果 expression 与上面的 value 值都不匹配时,执行此处的语句 statements_def; [break;] }
case中使用条件判断
看看下面的代码,当foo为0,1,2,3的时候显示alert。
var foo = 1; switch (foo) { case 0: case 1: case 2: case 3: alert('yes'); break; default: alert('not'); }
有没有更好的写法呢?下面这个显然更简洁清晰啊。
var foo = 1; switch (true) { // 非变量 TRUE 替代 foo case foo >= 0 && foo <= 3: alert('yes'); break; default: alert('not'); }
表示等级
精心设计的switch把_最少最稀有的条件_在上面,普通的条件放在相对下面的位置
function rankProgrammer(rank){ switch(rank){ case "高级": this.secretary = true; case "中级": this.laptop = true; this.bonus = true; case "初级": this.salary = true; this.vacation = true; } } var xiaohu=new rankProgrammer("高级"); console.log(xiaohu);
以上内容给大家介绍了switch语句的技巧,希望对大家以上帮助。
相关推荐
-
java switch语句使用注意的四大细节
switch语句的格式如下:(它的功能是选出一段代码执行) 复制代码 代码如下: switch(整数选择因子) { case 整数值1 : 语句; break; case 整数值2 : 语句; break; case 整数值3 : 语句; break; case 整数值4 : 语句; break; case 整数值5 : 语句; break; ... default:语句; } 但是要注意几点如下: 1.switch中case的参数类型只能是int类型,但是放byte,short,char类型的
-
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
复制代码 代码如下: <?php num = rand(1,5); witch($num){ case 1: $fp1=fopen("f1.dat",'r'); $oname = fgets($fp1); $nname = date("YmdHis"); rename($oname,$nname); fclose($fp1); unlink("f1.dat"); $fp1=fopen("f1.dat",'w'); fwr
-
解析c语言switch中break语句的具体作用
问题:break在for循环.while循环等循环流程控制中起的作用是停止执行break后面的语句,跳出本次循环,并跳出该循环控制体:在switch条件选择中,没有了循环控制,break又起什么作用呢? 解决办法:1. switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇到break语句就退出switch语句,程序流程转向开关语句的下
-
解析如何利用switch语句进行字符统计
复制代码 代码如下: #include <stdio.h>void cotTime();main(){ cotTime();}void cotTime(){ int c, i, nwhite, nother, ndigit[10]; nwhite = nother = 0; for(i=0;i<10;i++) { ndigit[i] = 0; } while((c = getchar()) != EOF) { switch(c) { case '0':
-
java 学习笔记(入门篇)_多选择结构switch语句
多选择结构switch语句 在java中为多路分支选择流程专门提供了switch语句,switch语句根据一个表达式的值,选择运行多个操作中的一个.他的语法形式如下: 复制代码 代码如下: switch(表达式){ case 表达式常量1:语句1: break: case 表达式常量2:语句2: break: ...... case 表达式常量n:语句n: break: [default:语句n+1:] } 其中,一个case表达式常量成为标号,代表一个case分支的入口.switch语句在运行
-
Switch语句的技巧
概述 switch语句对一个表达式求值,将结果与 case 子语句比较,如果匹配,则从 case 处的语句向下执行. 语法 break;语句是可选择的,如果遇到break;则会跳出整个switch语句.如果没有任何case匹配,则进入到default:的分支.default:分支也是可选的. switch (expression) { case value1: // 当 expression 的结果与 value1 匹配时,从此处开始执行 statements1: [break;] case v
-
thinkPHP模板中for循环与switch语句用法示例
本文实例讲述了thinkPHP模板中for循环与switch语句用法.分享给大家供大家参考,具体如下: 1.for用法 <for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" > </for> 案例 <for start="1" end="100"> {$i}
-
C++性能剖析教程之switch语句
前言 几乎每本面向初学者的C语言或C++书籍在前面两章都会提到分支控制语句if--else和switch--case,在某些情况下这两种分支控制语句可以互相替换,但却很少有人去深究在if--else和switch--case语句的背后到底有什么异同?应该选择哪一个语句才能使得效率最高?要回答这些问题,只能走到switch语句的背后,看看这些语句到底是怎么实现的. 基本格式 switch语句的基本格式如下: switch (表达式) { case 常量表达式1:<语句序列1><break;
-
PowerShell数组结合switch语句产生的奇特效果介绍
PowerShell数组与switch语句,PowerShell中数组可以与switch语句结合,产生意想不到的效果. PowerShell中数组可以与switch语句结合,产生意想不到的效果. 先看看例子: 复制代码 代码如下: $myArray = 1,5,4,2,3,5,2,5 Switch ( $myArray ) { 1 { 'one' } 2 { 'two' } 3 { 'three' } 4 { 'four' } 5 { 'five' } } 数组中的所有元素都是在1,2
-
常用SQL语句优化技巧总结【经典】
本文实例总结了常用SQL语句优化技巧.分享给大家供大家参考,具体如下: 除了建立索引之外,保持良好的SQL语句编写习惯将会降低SQL性能问题发生. ①通过变量的方式来设置参数 好: stringsql = "select * from people p where p.id = ? "; 坏: stringsql = "select * from people p where p.id = "+id; 数据库的SQL文解析和执行计划会保存在缓存中,但是SQL文只要有
-
Java控制语句之if、switch语句
java if语句 Java控制语句分为三大类:①顺序结构:②选择结构:③循环结构. -------------------------------------------------------------------------------- 选择结构又分为:①单选择结构:②双选择结构:③多选择结构. 主要涉及: if_else , switch , while , break 和 continue , for. if单选择结构 对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳
-
浅谈选择结构if语句和switch语句的区别
1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } ... else { 语句体n+1; } B:执行流程: 首先计算比较表达式1看其返回值是true还是false, 如果是true,就执行语句体1,if语句结束. 如果是false,接着计算比较表达式2看其返回值是true还是false, 如果是true,就执行语句体2,if语句结束. 如果是fa
-
Swift中swift中的switch 语句
废话不多说了,直接给大家贴代码了,具体代码如下所示: /** switch 语句 */ let str = "aAbBacdef" let str2 = "aAbBadef" let str3 = "aAbBadeff" // var array = []; for c in ["A", "a", str3] { switch c { // case "a": case "a&
-
Swift开发中switch语句值绑定模式
Switch简介 Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有过编程经验的人对Switch语句都不会感到陌生,但苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性. // switch语句值绑定模式 let point = (100, 10) switch point { // 遇到有匹配的就不会在执行下一个了 这样子也可以啊case let (x, y) case (let x, let y): print("\(x): \(y)") //
-
Swift中switch语句区间和元组模式匹配
废话不多说了,下面一段代码给大家介绍了switch语句区间和元组模式匹配,具体内容如下所示: // switch 的广义匹配 let x = 1000 // 也就是说并没有像C语言那样 要求 switch 后面的是整数常量 switch x { // case后面可以跟区间啦 case 1...9: print("个位数") case 10...99: print("十位数") case 100...999: print("百位数") case
随机推荐
- 解密网页加密的两个方法
- ajax 乱码的一种解决方法
- Java NumberFormat 类的详解及实例
- myeclipse开发servlet_动力节点Java学院整理
- iOS动画特效之立方体翻转
- js写的方法实现上传图片之后查看大图
- python pickle 和 shelve模块的用法
- 修改Mysql root密码的方法
- Django框架中render_to_response()函数的使用方法
- Nginx服务器中处理AJAX跨域请求的配置方法讲解
- 让IE ff Opera同时支持Alpha透明的方法
- js同源策略详解
- android闹铃简单实现
- Android自定义View实现圆环交替效果
- sqlserver 三种分页方式性能比较[图文]
- node中使用es5/6以及支持性与性能对比
- 试用Linux的法宝--Demo Linux试用
- Android布局之表格布局TableLayout详解
- 值得收藏的2017年Java开发岗位面试题
- 深入C++拷贝构造函数的总结详解