浅谈if...else 和 swtich 语句 如何选择

共同点:

1、两者都可以用于多分支结构;

2、两者都可以进行循环嵌套;

区别:

使用场景:

1、if..else if..else.. 语句:能应用于更多的场合 ,更加灵活,同时也可以表示非常量的多种情况,

2、swtich...case...语句:适合场景:case值为常量的各种情况;

3、swtich...case...语句能表示的情况都可以用if..else if..else.. 语句表示;

性能:

1、当分支较多时,当时用switch的效率比ifelse要高的多,switch以空间换时间,因为switch是随机访问的,确定了选择case值之后直接跳转到那个对应的分支,但是if...else if ...else 是遍历所有的可能值,直到找到符合条件的分支。
2.由汇编代码可知道,switch...case占用较多的代码空间,因为它要生成跳表,特别是当case常量分布范围很大但实际有效值又比较少的情况,switch...case的空间利用率将变得很低。

总结:

1、当只有两种情况时,选用if...else...语句

2、当case对应为固定值-常量,且存在多种情况时,采用swtich...case语句;

3、当存在多种情况,但是为非确定值,存在逻辑判断的情况,采用if...else if ...else 语句;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值