switch (i) {
case ("+" || "/"):
setOperator("i");
break;
}
在Java中這樣做的最佳方法是什麼?switch case語句中的布爾邏輯 - Java
switch (i) {
case ("+" || "/"):
setOperator("i");
break;
}
在Java中這樣做的最佳方法是什麼?switch case語句中的布爾邏輯 - Java
當然。
只需使用
if(i.equals("+") || i.equals("/")) {
setOperator("i");
}
或者如果你有使用switch語句,你可以這樣來做:
switch(i) {
case "+":
case "/":
setOperator("i");
break;
}
基本上,你真的不能有多個的情況下,你的方式想過了。它與if語句的結構不同,您可以在其中執行各種邏輯操作。 Java不會而不是通過併爲每個案例做if語句。
相反,每次您有case("foo")
時,Java都會將其視爲一種稱爲「案例標籤」的東西。這就是我們有時選擇使用switch語句的原因,儘管它們非常原始,有時不太方便。因爲我們有案例標籤,所以計算機只需要做一次評估,並且可以跳到正確的位置並執行正確的代碼。
這裏是一個網站,可以幫助你報價:
switch語句,因爲它是最常用的,具有如下形式:
switch (expression) {
case constant-1:
statements-1
break;
case constant-2:
statements-2
break;
.
. // (more cases)
.
case constant-N:
statements-N
break;
default: // optional default case
statements-(N+1)
} // end of switch statement
這有完全一樣的效果相同遵循multiway if語句,但switch語句可以更高效,因爲計算機可以評估一個表達式並直接跳轉到正確的大小寫,而在if語句中,計算機必須先計算N個表達式,然後它才知道要將哪組語句執行:
if (expression == constant-1) { // but use .equals for String!!
statements-2
}
else if (expression == constant-2) {
statements-3
}
else
.
.
.
else if (expression == constant-N) {
statements-N
}
else {
statements-(N+1)
}
是的,你可以做:Fall through
在swith case
switch (i) {
case "+":
case "/":
setOperator(i);
break;
}
switch (i) {
case ("+"):
case ("/"):
setOperator("i");
break;
}
如果()........... – 2014-10-26 15:03:30
我需要使用switch語句。 – Jack 2014-10-26 15:04:48
你爲什麼?這段代碼看起來很糟糕。 – 2014-10-26 15:04:50