Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Switch语句

Switch语句

原创
作者头像
luoheng
修改于 2022-08-29 11:08:25
修改于 2022-08-29 11:08:25
1.3K0
举报
文章被收录于专栏:luohengluoheng

switch语句根据case数量和性质有三种实现方法。

逐条比较

当case数目少,数字分散时逐条比较,与if-else语句性能相同。

跳转表

当case数目多,数字比较集中时,使用完美哈希函数生成跳转表,性能高于if-else。

二分查找

当case数目多,数字比较分散时,对case进行排序,进行二分查找,性能高于if-else。

参考自:《深入理解计算机系统》。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
编程小知识之switch语句
switch 语句大家都不陌生,平时在遇到较多相同的 if 语句判断时就会想到他,举个简单的例子:
用户2615200
2018/12/28
7960
EasyC++26,switch语句
在日常的开发当中,我们经常会遇到一种情况,我们用一个变量表示状态。比如关闭-激活-完成,当我们需要判断状态的时候,就需要罗列if-else语句。
TechFlow-承志
2022/08/26
1510
C/C++ 反汇编:关于Switch语句的优化措施
流程控制语句是C语言中最基本的判断语句,通常我们可以使用IF来构建多分支结构,但同样可以使用Switch语句构建,Switch语句针对多分支的优化措施有4种形式,分别是,IF-ELSE优化,有序线性优化,非线性索引优化,平衡判定树优化。
王瑞MVP
2022/12/28
7280
C/C++ 反汇编:关于Switch语句的优化措施
关于我、重生到500年前凭借C语言改变世界科技vlog.14——常见C语言算法
根据当前所学C语言知识,对前面知识进行及时的总结巩固,出了这么一篇 vlog 介绍当前所学知识能遇到的常见算法,这些算法是在C数据结构初阶常用的一些算法,重要性不言而喻,本章将用简单易懂的语言带领读者深入理解
DARLING Zero two
2024/11/19
700
《Java从入门到失业》第三章:基础语法及基本程序结构(3.8):流程控制(选择语句、if-else语句、switch语句)
       到此为止,我们已经基本了解了Java的基础语法,会定义不同类型的变量,会命名,会给变量赋值和运算等。接下来,我们需要学会流程控制方面的知识。
用户7801119
2020/09/27
5070
5.14 汇编语言:仿写Switch选择结构
选择结构,也称为switch语句,是计算机编程中的一种控制结构,用于根据表达式的值选择不同的执行路径。它允许程序根据表达式的值来决定执行哪个代码块,从而实现多分支选择逻辑。switch语句由一个表达式、多个case标签以及对应的代码块组成。程序会将表达式的值与每个case标签进行匹配,一旦找到匹配的case标签,程序将执行对应的代码块,并继续执行该代码块之后的代码,直到遇到break语句或者switch语句结束。
王瑞MVP
2023/08/24
2090
switch语句以及与if的比较
HTML5学堂:JS的三大语句类型当中,有一种分支/选择性语句——switch。我们常说switch可以适当的和if配合使用,那么switch语句到底怎么书写,如何运用,和if语句的区别以及选用原则又是什么?一起来看今天的内容。 有时并不那么友好的if语句 条件语句,我们通常都使用if来处理,特别是针对一个范围区间,需要执行不同功能代码时,尤为可用。但是,一旦遇到如下这种情形,我们就会觉得if有些麻烦了~ if (rank == 'A') { console.log('优秀'); } else if
HTML5学堂
2018/03/12
1.4K0
人生充满选择,编程也是
人生在世,我们每天都需要进行三项重大选择:早餐吃什么,午餐吃什么,晚餐吃什么。这一度让我感到非常为难,于是我养成了一个习惯,只要在附近的餐馆发现了几种还不错的食物,我就会连续一段时间一直吃它们,直到吃腻,再尝试一下别的选择,直到又发现还比较对胃口的,就再一直吃,如此循环往复。
Sheepy
2018/09/10
6070
详解分支和循环结构(剖析if语句,switch语句,while循环,for循环,do-while循环)
C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合。 我们可以使⽤if、 switch实现分⽀结构,使⽤for 、 while、 do while 实现循环结构。
用户11029269
2024/03/19
3810
详解分支和循环结构(剖析if语句,switch语句,while循环,for循环,do-while循环)
第18节 switch语句
switch是一个条件语句,它计算表达式并将其与可能匹配的列表进行比较,并根据匹配执行代码块。它可以被认为是一种惯用的方式来写多个if else子句。
小尘哥
2019/07/19
6340
C语言初阶——分支与循环
  经过前面文章的介绍,我们已经算是摸到C语言的门槛了,接下来就是踏进门槛,入门C语言。让我们从分支和循环语句开始!
北 海
2023/06/30
1720
C语言初阶——分支与循环
知识扩展--if...else...与switch...case...的执行原理if和switch的原理
  编程语言中的条件分支结构有两种:if-else和switch-case,这两种条件分支之间可以相互转换,但是也存在一些区别,那么什么时候该用if-else,什么时候该用switch-case呢?这就需要我们去了解它们之间的练习和区别了。
mukekeheart
2019/09/29
1.6K0
知识扩展--if...else...与switch...case...的执行原理if和switch的原理
C语言入门系列之4.分支结构程序-关系、逻辑运算和if、switch语句
关系运算符: 又叫比较运算符,在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。
cutercorley
2020/07/23
2.3K0
C语言入门系列之4.分支结构程序-关系、逻辑运算和if、switch语句
JAVA|循环结构——switch语句
在上次的学习中我们介绍了java中的if语句,在我们学习的不断深入当中我们就会发现if语句有一个很严重的弊端,那就是当判断语句很多时我们就会写很多的if判断语句,就例如我们给同学成绩打评语时,我们就会写很多if else语句,这样写法呢就有这样几个特点;
算法与编程之美
2019/09/04
1.1K0
[C语言]分支循环语句
2. 循环执行语句: do while 语句、 while 语句、 for 语句;
IT编程爱好者
2023/04/12
8190
[C语言]分支循环语句
【JavaSE专栏12】Java 的 switch 条件语句
switch 语句是 Java 选择结构中的一类,本文将对 Java 中的 switch 语句进行讲解。
Designer 小郑
2023/08/01
6230
【JavaSE专栏12】Java 的 switch 条件语句
原生基础的判断语句中switch语句和if else if语句的区别
你会发现他们有的时候可以互换,那有人就问,那为什么要出两种相同的条件语句呢?这部时多此一举?
淼学派对
2022/11/20
1.3K0
switch语句
使用if语句嵌套解决实际问题中的多分支选择时,如果分支数目非常多,那么if语句的嵌套层数也会很多,使得程序代码变得冗长而且可读性会下降。C语言提供了switch语句来处理多分支选择。
pigeon
2022/04/11
1.6K0
switch语句
switch语句的用法实例
一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。
用户7886150
2020/12/03
1.8K0
计算机程序的思维逻辑 (9) - 条件执行的本质
条件执行 前面几节我们介绍了如何定义数据和进行基本运算,为了对数据有透彻的理解,我们介绍了各种类型数据的二进制表示。 现在,让我们回顾程序本身,只进行基本操作是不够的,为了进行有现实意义的操作,我们需要对操作的过程进行流程控制。流程控制中最基本的就是条件执行,也就是说,某些操作只能在某些条件满足的情况下才执行,在一些条件下执行某种操作,在另外一些条件下执行另外某种操作。这与交通控制中的红灯停、绿灯行条件执行是类似的。 Java中表达这种流程控制的基本语法是If语句。 if If的语法为: if(条件语
swiftma
2018/01/31
1.2K0
推荐阅读
相关推荐
编程小知识之switch语句
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档