switch语句在一定程度上是有动态跳转(函数指针就是一种动态跳转),另外switch语句绝对不是和if... else if ... else if等效的
switch语句有两种实现:
一、table switch
switch (key) {
case 2:
...;
case 3:
...;
case 5:
...;
case 6:
...;
}
这种语句会得到类似这样的效果:在代码中有对应2到6五个key值的语句起点——就是说包括并没有出现的4。可以这样看,5个起点被存储在一个数组中,可以直接用key - 2作为下标获得需要执行的语句位置。
二、lookup switch
switch (key) {
case 5:
...;
case 100:
...;
case 23:
...;
case 1:
...;
}
对于这种情况,table switch就会很浪费,因为需要整整100个项,而真正用到的key值只有四个。这个时候编译出的代码将只有4个项,分别对应1 5 23 100,是的被排序了。至于为什么排序,不作解释,该明白的人应该已经明白了。
switch语句也有弊端,因为生成的bytecode远比用一串if else大。同时由于需要更长的初始化时间,在项目比较少的时候可能会比if else还慢。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xueyong1203/archive/2006/07/16/928571.aspx
分享到:
相关推荐
C语言switch语句学习教案 switch 语句是 C 语言中处理多路选择问题的一种更直观和有效的手段。在实际应用中,要在多种情况中选择一种情况,执行某一部分语句。当然可以使用嵌套的 if , if else 语句来处理,但其...
关于switch语句的使用需要注意以下几点: (1) 关于表达式:表达式可以是整型、字符型等表达式,有一个确定的值(不是逻辑值)。 (2) 关于常量表达式1~n:只起到一个标号的作用,根据表达式的值来判断,找到一个相...
本教学案例分析PPT学习教案的主要目的是帮助中职计算机专业学生学习C语言switch语句的格式、执行过程和应用,达到掌握switch语句的格式、理解switch语句的执行过程、掌握阅读、调试switch程序的能力、掌握switch语句...
主要教学目标包括掌握 switch 语句的格式、理解 switch 语句的执行过程、理解与其他语句的异同、掌握阅读、调试 switch 程序的能力、掌握 switch 语句实现多分支选择结构、领悟使用 switch 语句解决实际问题等。...
C++语言switch语句详解 switch语句是C++语言中的一种控制流语句,用于根据不同的条件执行不同的代码块。在本文中,我们将详细介绍switch语句的执行过程、注意要点、例题讲解和作业等。 一、switch语句的执行过程 ...
switch语句 switch 语句 与 if-then 和 if-then-else 语句不同,switch 语句可以具有许多可能的执行路径。switch 可与 byte,short,char 和 int 原始数据一起使用类型。它也适用于 enumerated types (枚举类型)(在...
本文主要给大家介绍了...因此,Go语言的switch语句又分为表达式switch语句和类型switch语句。 1、表达式switch语句 var name string ... switch name { case Golang: fmt.Println(Golang) case Rust: fmt.Println
C语言中分支结构:if语句、if-else语句和switch语句的使用方法 C语言中分支结构是一种非常基本但非常重要的编程结构,它允许程序根据条件执行不同的代码块。在C语言中,分支结构有三种基本类型:if语句、if-else...
switch语句的使用例子
c语言程序设计教程(第二版)谭浩强,经典例题,对于学习c语言有很大帮助
1、.了解C语言的逻辑运算2、.学会使用if语句和switch语句3、.熟练掌握选择结构程序设计方法
switch语句的普通用法很简单,如下: var a = 3; switch (a) { case 1: console.log(a); break; case 2: case 3: console.log(a); break; default: break; } 这里a和case列表中从上而下逐一做比较,如果...
38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip38.java中的switch语句.zip...
在`js_switch语句练习`这个练习文件中,你可能会发现更多关于`switch`语句的实践案例,包括不同类型的比较、复合表达式的使用以及如何结合其他控制流结构(如`for`循环)来实现更复杂的逻辑。通过这样的练习,你可以...
switch 语句 语法 使用规则 介绍的很详细
C语言中的switch语句基本用法 switch语句是C语言中的一种多分支选择语句,能够简化代码,提高代码的可读性和维护性。下面将详细介绍switch语句的基本用法和应用。 switch语句的基本格式 switch语句的基本格式如下...
C语言switch语句 C语言switch语句是一种多分支选择语句,用于在多种情况中选择一种情况,执行某一部分语句。switch语句的主要特点是可以根据表达式的值来选择执行的分支,且可以使用break语句来退出switch结构。 ...
switch 语句的写法 简单的一个代码,简述java语言switch、语句的编写
c语言程序设计简单的switch语句的用法
javascript,switch语句,判断年龄段