问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

switch语句中,case的后面为什么必须是常量

发布网友 发布时间:2022-04-30 21:33

我来回答

2个回答

热心网友 时间:2023-10-14 17:56

在大部分动态语言中,case后面是可以接变量甚至是表达式的。比如说你可以这么做:var a = 0, b = 1, c = 3;
switch(true) {
case a < b: alert("a比b小"); break;
case a < c: alert("a比c小"); break;
}
基本上这种类型都可以用if else来写,但是用switch写可读性会好一些。如果需要性能的话可以自己手动实现一个跳转表,现有的动态语言一般都支持一等函数和属性列表,跳转表的实现也并不是特别难。所以其实也就是一个取舍的问题。

热心网友 时间:2023-10-14 17:56

常量是必须初始化,就是必须有个值存在,switch方法的用法是传一个参数进去,然后参数会在多个case中寻找匹配的那一个,如果case后面不是常量是个变量,那就会匹配不到,方法就失去了意义
switch语句中,case的后面为什么必须是常量

switch(里边跟的是变量,此变量值由上方数据输入)case后面就必须跟上常量,判断switch进来的值是否与case对应值相等,相等则执行此条case,否则向下做匹配。就像一把钥匙对应一把锁,锁是case,钥匙是switch,只有当switch与case匹配,锁才会被打开。

switch语句中,case的后面为什么必须是常量

常量是必须初始化,就是必须有个值存在,switch方法的用法是传一个参数进去,然后参数会在多个case中寻找匹配的那一个,如果case后面不是常量是个变量,那就会匹配不到,方法就失去了意义

Java的switch语句:case后只能接常量,不能是变量吗

必须是常量,因为进入switch语句后 是要去把条件和常量去比较的,所以只能是常量,不能是变量

switch case中case后一般跟什么,常量表达式是什么东西?求解释...

switch也相当一个循环,case后边跟的是满足条件,所以必须是一个常量,或者常量表达式,意思就是必须跟一个唯一值。只有当条件满足这个唯一值得时候才会执行满足条件的代码,如果不满足会继续下一个case,直到找到满足的条件,如果都不满足就执行default,不知道这么说你是否明白 ...

switch语句中,case的后面为什么必须是常量

这个不知道你是什么意思,switch后面的表达式或变量表示的是有很多种取值的量,而case后的常量值就是switch的变量可能取到的值得一种

我想询问一下:switch 语句时,case后面只能接常量么? 例如case 3...

case后面的值是在编译时候就要确定的,所以只能是常量,但不一定非得是1,2,3之类的数字 只要可以确定值就可以,比如(2+4)*3 或不等式:2&lt;5 (这个不等式的值实际上是1)当然也可以出现你说的 ch&gt;'A'&amp;&amp;ch&lt;'Z'但前提是ch必须定义成const类型 如 const ch='B';你可以编程实践下 还有问题...

c语言switch语句中case后面必须要接整型常量和字符型常量吗

是的,case语句后面的必须是整型常量!整型常量有多种,比如int、char、enum枚举常量,在C++中bool类型也属于整型常量的一种。//一般switch语句使用此种格式switch(表达式){case 常量表达式1:语句1;...case 常量表达式2:语句2;default:语句;}switch是一个整型表达式。case是一个整数常量表达式。只所以不...

switch语句中case后可为常量或表达式和有确定值的变量及表达式吗...

switch 后的圆括号中是一个常量表达式,必须是一个整型或枚举类型。在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。所以,case 后面必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。不可以是变量,或含有变量的表达式。

switch语句中,case的后面为什么必须是常量

switch判断的时候接受的是变量。你的caose要是还是变量,那岂不给自己下套吗?

C 语言中,swich case 语句中,case 后面只能跟常量表达式么?能不能跟...

准确的说case后面跟的是一个确定的值,由于常量表达式也好,逻辑表达式(在C语言中逻辑表达式的值只有两种而且是整形数值1或者0)也好都是返回的一个确定的值。因此switch case语句中case后可以跟逻辑表达式。(注:刚刚我试了一下,确实可以)

case语句后的多个语句必须用 switch语句中case后 switch case语句的例题 js switch case语句 switch语句中default java的switch语句 c语言switch case用法 c语言switch语句例题 select case语句
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
上海大名城映_有多少户? 英特尔处理器漏洞有哪些害? 英特尔漏洞都会影响哪些CPU?下一代还会影响吗? cpu使用率100%是怎么回事呀? 生姜红茶减肥法骗局 鲁东大学大一新生电话卡是用的学校发的联通卡吗? 鲁东大学用移动的多还是用联通的多?求师哥师姐们解答 ...牙齿一碰到溃疡就疼,治疗口腔溃疡的偏方有哪些呢? 我想找一个飞车情侣名字,我有车队,车队名字是丿茗门丨灬 梦幻悟空传变态版安卓APK 谷歌浏览器为什么没有标题栏啊,我使用很不方便,我想要谷歌浏览器也有标题栏有没有办法? switch 语句中,case 后面可以是变量吗 为什么Google Chrome浏览器显示无标题?求跪啊~~~ 谷歌浏览器打不开任何网页 蓝屏 全部都是无标题,求大神 请问在C++ 中SELECT CASE中 case后可接变量吗 Java的switch语句:case后只能接常量,不能是变量吗 求助,谷歌浏览器灰屏无标题,什么都打不开 用chrome下载东西的时候,总是打开一个新页面,页面的名字叫做无标题,然后下载没反应 周扬青呼吁不要养折耳猫,折耳猫是种什么样的猫? 谷歌浏览器打不开网页,输入什么网址都是无标题,求大神帮忙... 谷歌浏览器无法下载东西,每次点击下载后,总是弹出新窗口,显示无标题,以前还可以下载啊? 谷歌浏览器无标题 谷歌浏览器 无标题 chrome崩溃,,总显示无标题,设置打不开 谷歌浏览器一打开显示无标题 右下角还出现这个 谷歌浏览器无法直接打开,出现无标题。要先打开浏览器才可以。 急求浏览器每次打开网页都是无标题怎么办? 谷歌浏览器 无标题 打开总是无标题 卸载重装几遍不起作用 肿么办 谷歌浏览器打开,标签显示无标题,任何网页无反应, Chrome打开之后显示无标题 chrome浏览器怎么设置标题栏? 大家好 C语言里面的 switch case 结构我有个小小的疑问: case后面到底能跟哪些东西呢 为什么我... A5怎么关掉游戏空间? 请问case后面可以用const变量吗?网上的人都说不行,为什么我在VC6.0上测试可以?求大侠指点。 战士用迦拉卡斯的*之眼和死从天降雕文是否能叠加英勇跳跃的减CD效果 C++中switch语句中case分句后面只能跟字符量吗? 既定之天命,迦拉卡斯的*之眼、活性腐蚀之瓶,是不是没有法系的? C语言里的switch case 结构 case后面能不能跟数组元素该怎么写 举个简单例子吧 能说明问题就行 谢谢... switch语句中case后只能加什么? case后面能接多条语句吗? case后面的语句不加大括号,为什么有时候能编译通过有时候不能通过? 海盗来了这个游戏,两个,换玩时为什么点进去时是同一个的? 周星驰和吴孟达合作的经典电影有哪些? 周星驰和吴孟达共同主演的有哪几部电影? 吴孟达和周星驰共同演的电影有哪些 周星驰和吴孟达共同主演的有哪几部电影 周星驰和吴孟达拍过哪些电影? 求周星驰和吴孟达合作过的所有电影的名字 跪水周星驰和吴孟达合作的全部电影 周星驰和吴孟达所有合作的电影