Jac*_*ack 3 java switch-statement
switch (i) {
case ("+" || "/"):
setOperator("i");
break;
}
Run Code Online (Sandbox Code Playgroud)
在Java中执行此操作的最佳方法是什么?
Ale*_*x K 16
当然.
只是用
if(i.equals("+") || i.equals("/")) {
setOperator("i");
}
Run Code Online (Sandbox Code Playgroud)
或者如果你必须使用switch语句,你可以这样做:
switch(i) {
case "+":
case "/":
setOperator("i");
break;
}
Run Code Online (Sandbox Code Playgroud)
基本上,你不可能像你想象的那样拥有多个案例.它与if语句的结构不同,您可以在其中执行各种逻辑操作.Java并没有经历做一个if语句为每一个案件.
相反,每次有case("foo")Java 时,Java都会将其视为Case Label.这是我们有时选择使用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
Run Code Online (Sandbox Code Playgroud)
这与以下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)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9084 次 |
| 最近记录: |