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语句的执行过程 ...
### C 语言中的 Switch 语句详解 #### 一、Switch 语句的基本概念与语法结构 Switch 语句是 C 语言中的一种选择结构,主要用于实现多分支选择的功能。其基本语法结构如下: ```c switch (表达式) { case 常量...
本篇文章将深入探讨C语言中的if语句和switch语句,这两种选择结构是控制程序流程的重要工具,使得代码可以根据不同的条件执行不同的操作。 首先,我们来详细了解一下if语句。if语句是基于条件执行特定代码块的基础...
本文主要给大家介绍了...因此,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语句的使用例子
javascript,switch语句,判断年龄段
c语言程序设计教程(第二版)谭浩强,经典例题,对于学习c语言有很大帮助
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`循环)来实现更复杂的逻辑。通过这样的练习,你可以...
C语言中的switch语句基本用法 switch语句是C语言中的一种多分支选择语句,能够简化代码,提高代码的可读性和维护性。下面将详细介绍switch语句的基本用法和应用。 switch语句的基本格式 switch语句的基本格式如下...
《switch语句大全》 在编程领域,switch语句是一种常用的控制流程结构,它提供了多路选择执行的能力,尤其在处理多个可能的情况时非常高效。本文将深入探讨switch语句的使用、语法、特点以及在不同编程语言中的差异...
在C语言中,`switch`语句是一种流程控制结构,用于根据不同的条件执行相应的代码块。它提供了一种更简洁的方式来替代多个`if...else if...else`语句。在这个程序设计实例中,我们看到一个如何巧妙使用`switch`语句的...
SWITCH语句在MATLAB中的应用,条件一成立,执行条件一,条件二成立执行条件二语句,否则跳出循环。
C语言switch语句 C语言switch语句是一种多分支选择语句,用于在多种情况中选择一种情况,执行某一部分语句。switch语句的主要特点是可以根据表达式的值来选择执行的分支,且可以使用break语句来退出switch结构。 ...