Tag: switch statement

为什么String switch语句不支持空的情况?

我只是想知道为什么Java 7的switch语句不支持null情况下,而是抛出NullPointerException ? 请参阅下面的注释行(摘自Java教程文章中关于switch示例): { String month = null; switch (month) { case "january": monthNumber = 1; break; case "february": monthNumber = 2; break; case "march": monthNumber = 3; break; //case null: default: monthNumber = 0; break; } return monthNumber; } 这将避免在每次使用switch之前进行空检查的条件。

如何在switch语句中添加“或”?

这是我想要做的: switch(myvar) { case: 2 or 5: … break; case: 7 or 12: … break; … } 我尝试了“情况:2 || 5”,但没有奏效。 目的是不要为不同的值编写相同的代码。

控制不能通过一个案例标签

我正在尝试编写一个switch语句,在search字段中inputsearch词,具体取决于任何search文本框。 我有以下代码。 但是我得到一个“控制不能从一个案例标签”的错误。 请让我知道如何解决这个问题。 提前致谢! switch (searchType) { case "SearchBooks": Selenium.Type("//*[@id='SearchBooks_TextInput']", searchText); Selenium.Click("//*[@id='SearchBooks_SearchBtn']"); case "SearchAuthors": Selenium.Type("//*[@id='SearchAuthors_TextInput']", searchText); Selenium.Click("//*[@id='SearchAuthors_SearchBtn']"); } 控制不能从一个案例标签('case“SearchBooks:')到另一个案例 控制不能从一个案例标签(“case”SearchAuthors“:”)到另一个案例标签

迅速的情况下通过

迅速有声明吗? 如果我做了以下 var testVar = "hello" var result = 0 switch(testVal) { case "one": result = 1 case "two": result = 1 default: result = 3 } 是否有可能为“一”和“两”情况执行相同的代码?

在case语句中使用{}。 为什么?

在case语句中使用{和}有什么意义? 通常情况下,无论case语句中有多less行,都会执行所有的行。 这只是一个关于较旧/较新的编译器的规则还是有一些背后的东西? int a = 0; switch (a) { case 0:{ std::cout << "line1\n"; std::cout << "line2\n"; break; } } 和 int a = 0; switch (a) { case 0: std::cout << "line1\n"; std::cout << "line2\n"; break; }

在switch语句中声明variables

我看到了这个问题的一些答案,我明白了 – 你不能在switch声明和分配variables。 但我想知道是否以下是正确的抛出一个错误说 错误:在'int'之前的期望expression式 码: switch (i) { case 0: int j = 1; break; } 为什么会在不导致错误之前调用NSLog()呢? switch (i) { case 0: NSLog(@"wtf"); int j = 1; break; }

开关case语句错误:caseexpression式必须是常量expression式

我的switch-case语句昨天工作得很好。 但是当我今天早上运行代码的时候,eclipse给了我一个红色的case语句的错误,并且说:caseexpression式必须是常量expression式,它是常量,我不知道发生了什么。 这是我的代码如下: public void onClick(View src) { switch(src.getId()) { case R.id.playbtn: checkwificonnection(); break; case R.id.stopbtn: Log.d(TAG, "onClick: stopping srvice"); Playbutton.setImageResource(R.drawable.playbtn1); Playbutton.setVisibility(0); //visible Stopbutton.setVisibility(4); //invisible stopService(new Intent(RakistaRadio.this,myservice.class)); clearstatusbar(); timer.cancel(); Title.setText(" "); Artist.setText(" "); break; case R.id.btnmenu: openOptionsMenu(); break; } } 所有R.id.int都以红色标出。

如何在开关中使用null

Integer i = … switch (i){ case null: doSomething0(); break; } 在上面的代码中,我不能在switch case语句中使用null。 我怎样才能做到这一点? 我不能使用default因为那时我想做别的。

在JavaScript中,是否从switch语句返回被认为比使用break更好的做法?

选项1 – 使用返回开关: function myFunction(opt) { switch (opt) { case 1: return "One"; case 2: return "Two"; case 3: return "Three"; default: return ""; } } 选项2 – 使用中断切换: function myFunction(opt) { var retVal = ""; switch (opt) { case 1: retVal = "One"; break; case 2: retVal = "Two"; break; case 3: retVal = […]

SQL切换/案例在where子句中

我试着四处搜寻,但找不到任何能帮助我的东西。 我试图在SQL中这样做: declare @locationType varchar(50); declare @locationID int; SELECT column1, column2 FROM viewWhatever WHERE CASE @locationType WHEN 'location' THEN account_location = @locationID WHEN 'area' THEN xxx_location_area = @locationID WHEN 'division' THEN xxx_location_division = @locationID 我知道我不应该把'= @locationID'放在每一个末尾,但是我甚至不能接近正确的语法。 SQL不断抱怨我的'='在第一个WHEN行… 帮帮我!