if和swicth

一、if和swicth区别
if :
1、表达式的结果是boolean类型,具体的值进行判断
2、变量在某个区间内,常用于区间的判断
3、三目运算符可以用if实现,反之不成立
switch:
1、表达式的值不能是boolean类型,可以是byte、int、char、String,
2、变量是固定值,常用于等值判断
对于几个固定的值判断,建议使用switch 语句。因为switch 语句会将具体的答案都加载进内存,效率相对高一点
基于代码的可读性:如果条件较少时,if-else容易阅读,而条件较多时switch更容易阅读

二、if语句的优化
1、把次数多的条件和执行结果放到最前面
2、减少第一次无用的判断,可以用嵌套判断
3、判断语句禁止出现三次嵌套
三、switch的理解
1、switch的括号里面放的是一个变量
2、case相对应的值是关于这个变量的一个值
3、switch里面的这个变量和case里面这个变量不会进行隐式类型的一个转换,
而是进行了恒等比较(===)。所以一定要注意这个变量和这个case里面的值是不是一个类型
值必须与要匹配的类型相同。只有操作数属于同一类型时,严格比较才能为 true。
4、关于switch里面的case会有一个穿透效果,这个效果有的时候会给我们带来好处,有的时候会给我们带来坏处,
如果不需要这种穿透效果的时候加break
5、swicth里面如果这个变量没有匹配到case里面这个值,那么就需要返回一个信息。所以在case的末尾一定要加上一个default;这样既给用
户的体验比较完美,另一方面对代码的今后维护也有很大的帮助
6、比较的值是固定值
四、示例
A:if语句的格式:

if(比较表达式1) {
 语句体1;
}else if(比较表达式2) {
 语句体2;
}else if(比较表达式3) {
 语句体3;
}

B:getDay() 方法返回 0 至 6 之间的周名数字(weekday number)。
(Sunday=0, Monday=1, Tuesday=2 …)
var value = new Date().getDay()
switch (value) {
case 0:
day = “星期天”;
break;
case 1:
day = “星期一”;
break;
case 2:
day = “星期二”;
break;
case 3:
day = “星期三”;
break;
case 4:
day = “星期四”;
break;
case 5:
day = “星期五”;
break;
case 6:
day = “星期六”;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值