草庐IT

lv_switch

全部标签

objective-c - 在 switch 语句中声明变量

这个问题在这里已经有了答案:Whycan'tvariablesbedeclaredinaswitchstatement?(23个回答)关闭8年前。我看到了这个问题的一些答案,我明白了——你不能在switch中声明和分配变量。但我想知道以下在抛出错误时是否正确error:expectedexpressionbefore'int'代码:switch(i){case0:intj=1;break;}为什么要在没有错误之前调用NSLog()?switch(i){case0:NSLog(@"wtf");intj=1;break;} 最佳答案 如

php - 如何在 PHP 中使用 switch case 'or'

有没有办法在PHP开关中使用“或”运算符或等效运算符?例如,像这样的:switch($value){case1||2:echo'thevalueiseither1or2';break;} 最佳答案 switch($value){case1:case2:echo"thevalueiseither1or2.";break;}这被称为“通过”案例block。该术语存在于大多数实现switch语句的语言中。 关于php-如何在PHP中使用switchcase'or',我们在StackOverfl

c++ - 错误 : Jump to case label in switch statement

我编写了一个涉及使用switch语句的程序,但是在编译时它显示:Error:Jumptocaselabel.为什么要这样做?#includeintmain(){intchoice;std::cin>>choice;switch(choice){case1:inti=0;break;case2://errorhere}} 最佳答案 问题是在一个case中声明的变量在随后的case中仍然可见,除非使用显式{ }block,但它们不会被初始化,因为初始化代码属于另一个case。在下面的代码中,如果foo等于1,一切正常,但如果等于2,我们

c++ - 使用 or 的 switch 语句

我正在创建一个控制台应用程序并使用switch语句来创建一个简单的菜单系统。用户输入采用单个字符的形式,在屏幕上显示为大写字母。但是,我确实希望程序同时接受小写和大写字符。我了解switch语句用于与常量进行比较,但是否可以执行以下操作?switch(menuChoice){case('q'||'Q')://Somecodebreak;case('s'||'S')://Morecodebreak;default:break;}如果这不可能,是否有解决方法?我真的不想重复代码。 最佳答案 这样:switch(menuChoice){c

c++ - 使用 or 的 switch 语句

我正在创建一个控制台应用程序并使用switch语句来创建一个简单的菜单系统。用户输入采用单个字符的形式,在屏幕上显示为大写字母。但是,我确实希望程序同时接受小写和大写字符。我了解switch语句用于与常量进行比较,但是否可以执行以下操作?switch(menuChoice){case('q'||'Q')://Somecodebreak;case('s'||'S')://Morecodebreak;default:break;}如果这不可能,是否有解决方法?我真的不想重复代码。 最佳答案 这样:switch(menuChoice){c

Java:在子类下使用带有枚举的switch语句

首先我要声明的是,我对C#中的枚举更加熟悉,而Java中的枚举似乎是一团糟。如您所见,我尝试在下一个示例中使用switch语句@enums,但无论我在做什么,我总是会收到错误。我收到的错误是:ThequalifiedcaselabelSomeClass.AnotherClass.MyEnum.VALUE_AmustbereplacedwiththeunqualifiedenumconstantVALUE_A问题是我非常理解错误,但我不能只写VALUE_A,因为枚举位于另一个子类中。有没有办法解决这个问题?为什么会发生在Java中?//MainClasspublicclassSomeCl

java - 是否可以在 switch 语句中使用 instanceof 运算符?

我有一个为instanceof对象使用switchcase的问题:例如:我的问题可以用Java复现:if(thisinstanceofA)doA();elseif(thisinstanceofB)doB();elseif(thisinstanceofC)doC():如何使用switch...case来实现? 最佳答案 这是子类型多态性有帮助的典型场景。执行以下操作interfaceI{voiddo();}classAimplementsI{voiddo(){doA()}...}classBimplementsI{voiddo(){d

java - 对一个 switch case 语句使用两个值

在我的代码中,程序会根据用户输入的文本执行某些操作。我的代码如下:switch(name){casetext1:{//blahbreak;}casetext2:{//blahbreak;}casetext3:{//blahbreak;}casetext4:{//blahbreak;}但是,text1和text4里面的代码是一样的。因此,我想知道我是否有可能实现类似casetext1||text4:{//blahbreak;}我知道||运算符在case语句中不起作用,但我可以使用类似的东西。 最佳答案 您可以同时使用CASE语句,如下

c++ - 为什么不能在 switch 语句中声明变量?

我一直想知道-为什么不能在switch语句中的case标签之后声明变量?在C++中,您几乎可以在任何地方声明变量(并且在接近第一次使用时声明它们显然是一件好事),但以下仍然行不通:switch(val){caseVAL://Thiswon'tworkintnewVal=42;break;caseANOTHER_VAL:...break;}上面给了我以下错误(MSC):initializationof'newVal'isskippedby'case'label这似乎也是其他语言的限制。为什么会出现这样的问题? 最佳答案 Case语句只

python - Python中switch语句的替换?

这个问题的答案是communityeffort。编辑现有答案以改进这篇文章。它目前不接受新的答案或交互。我想用Python编写一个函数,它根据输入索引的值返回不同的固定值。在其他语言中,我会使用switch或case语句,但Python似乎没有switch语句。在这种情况下推荐的Python解决方案是什么? 最佳答案 下面的原始答案写于2008年。从那时起,Python3.10(2021)引入了match-case为Python提供“开关”的一流实现的语句。例如:deff(x):matchx:case'a':return1case'