编程语言中IF语句与CASE语句的效率问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程语言中IF语句与CASE语句的效率问题相关的知识,希望对你有一定的参考价值。
在编程语言中IF语句与CASE语句同是判断语句,它们之间的效率谁会高一些。比如:写一个CASE里面有三个处理语句、写三个IF、写一个IF嵌套两个IF语句。
switch-case的效率更高,因为switch-case只激将表达式计算一次,然后将表达式的值与每个case的值比较,进而选择执行哪一个case的语句块.但根据其汇编结果,case与if在效率上的差别不是很大,一般有3个或以上选项的时候就用case. 参考技术A case 要快些不过三个语句也不碍啥事
而有时候要分情况,有时候用Case 会表达不适合
shell编程之case分支语句
shell编程之case分支语句
case分支语句和if的多分支语句很相似。
if多分支语句一般用在有(区间范围)的地方 ;例如:0-100之间。
if需要判断多个不同的条件。
case的分支语句用在 如果里面匹配到固定值;或某个变量存在多中取值,需要对其中的每一个取值分别执行不同的命令序列。
case只是判断一个变量的不同取值。
case的模式:
执行流程:
首先使用“变量值”与模式1进行比较,如果取值相同就执行模式1的命令序列1,直到遇见“ ;; ”后跳转到esac结束。
如果与模式1不匹配,则继续与下个模式2进行比较,若相同则执行模式2的命令序列2,知道遇见“ ;; ”后跳转到esac结束。若还是找不到任何匹配的值,则执行“ *)”默认模式后的默认命令序列,直到遇见esac结束。
使用case分支语句时,有几个注意的点:
1.case行尾必须为单词‘in’,每一个模式必须以右括号‘ )’结束。
2.双分号 “ ;; ”,表示命令序列的结束。
3.模式字符串中,可以用“ [ ] ”表示一个连续的范围,如:[0-9] ;还可以用竖杠符号" | "(表示或),如:a|b。
4.最后的 ” )“,表示默认模式,其中的“ ”相当于通配符。
以上是关于编程语言中IF语句与CASE语句的效率问题的主要内容,如果未能解决你的问题,请参考以下文章