switch-statement相关内容

用多种情况优化 Java switch 语句?

我目前正在使用 switch 语句来处理传入消息的类型,其中有 20 种左右不同的情况.其中一些情况发生的可能性比其他情况高出几个数量级. 热点编译器是否能够优化检查案例的顺序以找到要执行的正确案例,或者我应该构造我的代码以便最常见的案例首先出现: switch(messageType){案例 MOST_COMMON://处理它休息;...案例 LEAST_COMMON://处理它休息;} ..
发布时间:2022-01-19 10:55:21 Java开发

跳转到 PHP switch 语句中的另一种情况

假设我有这样的事情: switch ($_GET['func']) {案例“富":多巴();休息;案例“橙色":if ($_GET['茄子'] == '猫狗') {//**做默认选项**} 别的 {dosomethingElse();}休息;默认:做默认();} 如何从case 'orange'中的标记点跳转到default case? 解决方案 试试: switch($_GET[' ..
发布时间:2022-01-19 10:55:08 PHP

我们可以称之为“案例"吗?在 Java 的同一个 switch 语句中的另一个案例中?

我的意图是在同一个 switch 语句中在另一个案例中调用两个案例, switch (orderType) {情况1:声明1;休息;案例2:声明 2;休息;案例3:**调用案例 1;****调用案例 2;**休息;默认:休息;`} 我们可以在 Java 中做到这一点吗? 解决方案 虽然不能直接影响switch case,但是可以从一个case调用switch的父方法,传递不同的参数.例 ..
发布时间:2022-01-19 10:55:01 Java开发

为什么我需要使用break?

我想知道为什么 C# 要求我在 switch 语句中使用 break,尽管根据定义不允许贯穿语义.因此,编译器可以在每个 case 块的末尾生成 break 并为我省去麻烦. 但是,我可以提出一种情况(已在本网站上讨论过),这可能是显式使用 break 的原因: switch (foo) {案例0:情况1:酒吧();休息;默认:休息;} 这里,如果 foo 的值为 0 或 1,则调用方法 ..
发布时间:2022-01-19 10:54:53 C#/.NET

PHP:是否可以在开关内从一种情况跳转到另一种情况?

我有一个开关,在极少数情况下我可能需要跳到另一个案例,我正在寻找这样的东西: switch($var){案例:'一个'if($otherVar != 0){//任何条件,无关紧要//转到案例y;}别的{//案例一个}休息;案例“b"://案例b代码休息;案例“c":if($otherVar2 != 0){//任何条件,无关紧要//转到案例y;}别的{//案例c}休息;...案例“x"://案例x ..
发布时间:2022-01-19 10:54:46 PHP

切换案例到/之间

在 Javascript 中有没有一种方法可以在不使用 if 语句的情况下通过 switch case 结构将一个整数与另一个整数进行比较? 例如 switch(整数) {案例 1 到 10:休息;案例 11 至 20:休息;案例 21 至 30:休息;} 解决方案 你可以做一些数学运算. switch(Math.ceil(integer/10)) {case 1://整数在 1-1 ..
发布时间:2022-01-19 10:54:27 前端开发

开关盒中的默认值

下面是我需要优化和计划的代码,它会很好地转移到 switch 构造.但我可以比较case.所以我打算将比较 (len > 3) 作为 default 的情况. 如果我将比较部分 (len > 3) 作为默认情况并将 default 添加为开关中的第一个,会更快吗? 或者我怎样才能将下面的代码作为 switch 语句? if (len > 3) {//这会更频繁地发生;}否则 if ( ..
发布时间:2022-01-19 10:54:19 C/C++开发

PHP switch 语句变量范围

在 PHP 中,switch 语句中的变量作用域是如何处理的? 例如,举个假设的例子: $someVariable = 0;开关($东西){情况1:$someVariable = 1;休息;案例2:$someVariable = 2;休息;}回声 $someVariable; 这会打印 0 还是 1/2? 解决方案 你的整个代码部分中的变量将是相同的:在 PHP 中没有“每个块" ..
发布时间:2022-01-19 10:54:11 PHP

PHP CASE 语句不适用于零值

我不明白这里发生了什么.从逻辑上讲,这对我来说没有任何意义. 80:$答案='高';休息;案例$级别>60: $answer = '中到高';休息;案例$级别>40: $answer = '中等';休息;案例$级别>20: $answer = '低到中等';休息;默认值:$answer = '低';休息;}回声$答案;?> 当 $level == 0 时,返回“high".这对我来说没有任何意 ..
发布时间:2022-01-19 10:54:04 PHP

switch 语句中的奇变量范围

这个问题让我想起了一个关于switch的老问题: int personType = 1;开关(personType){情况1:雇员 emp = new Employee();emp.ExperienceInfo();休息;案例2:雇员 emp = new Employee();//错误: 一个名为 'emp' 的局部变量已在此范围内定义emp.ManagementInfo();休息;案例3:学 ..
发布时间:2022-01-19 10:53:30 C#/.NET

关于比较的 R switch 语句

我正在尝试编写一个 R 脚本来根据在范围内拟合值来评估不同的表达式.这个想法是,如果 Length 在一个范围内,它将以一种方式进行评估,如果它在一个较长的范围内,它将以不同的方式进行评估. 我可以使用 if/else 语句来完成这项工作,但它非常难看,而且我相信一定有更好的方法......这是有效的代码. 长度=8.2如果(长度 = 10)模式=“飞" 我一直在尝试用 switch 函 ..
发布时间:2022-01-19 10:53:23 其他开发

带有静态字段的 switch 语句

假设我有一堆静态字段,我想在 switch 中使用它们: 公共静态字符串 PID_1 = "12";公共静态字符串 PID_2 = "13";公共静态字符串 PID_3 = "14";开关(PID){案例 PID_1://做某事1休息;案例 PID_2://做某事2休息;案例 PID_3://做点什么 3休息;默认://做一些默认的事情休息;} 由于 C# 不允许在 switch 中使用非常量 ..
发布时间:2022-01-19 10:53:15 C#/.NET

在 switch 语句中从一种情况跳转到默认情况

switch(ch){案例“一"://做一些事情,条件不匹配所以转到默认情况//不要在这里闯入,也不要让其他情况陷入困境.案例“b"://..案例“c"://..案件 '_'://...默认://休息;} 在上面这样的 switch 语句中,我输入 case 'a',只有当其中的条件发生时才中断,否则我想跳转到默认情况.除了标签或 goto 之外,还有其他方法吗? 解决方案 goto F ..
发布时间:2022-01-19 10:53:06 其他开发

日食错误?仅使用默认情况打开 null

我正在尝试使用 enum,我发现以下在 Eclipse 上编译并运行良好(Build id:20090920-1017,不确定确切的编译器版本): 公共类 SwitchingOnAnull {枚举 X { ,;}公共静态无效主要(字符串[]参数){X x = 空;开关(x){默认值:System.out.println("Hello world!");}}} 当使用 Eclipse 编译和运行 ..
发布时间:2022-01-19 10:52:47 Java开发

许多情况下的开关优化保证任何情况下的访问时间相等?(C++)

我在这里看到了针对特定语言的答案,关于使用跳转表优化超过 5 种情况的开关,以保证任何情况下的恒定访问时间. C/C++ 是这样吗? 它特别适用于 gcc 吗?视觉工作室? 如果没有,按发生频率排序是否有帮助? 解决方案 该标准不保证 switch 语句将如何实现.我从未见过编译器生成哈希表,尽管有不少编译器会生成跳转表.除非我的记忆力比平时更差,否则当案例足够密集时(对于“足够"的 ..
发布时间:2022-01-19 10:52:37 C/C++开发

在 switch 语句中使用字符串——我们在 C++17 中的立场是什么?

我们每个人(可能)都有儿时写作的梦想: switch(my_std_string) {案例“foo":do_stuff();休息;case "bar": do_other_stuff();休息;默认值:just_give_up();} 但这是不可能的,正如过去(2009 年)对这个问题的回答中所解释的那样: 为什么switch语句不能应用于字符串? 从那时起,我们见证了 C++11 ..
发布时间:2022-01-19 10:52:29 C/C++开发