switch case 不带变量

use*_*856 6 java case switch-statement

是否可以编写 switch case 代码而无需在 switch 中指定变量?假设我有两个变量 int x 和 int y。我想根据 x 和 y 的不同组合有条件地运行代码。例如

switch
{
    case (x==1 && y==1): //do something.
        break;
    case (x==3 && y==-1): //do something.
        break;
    case (x==0 && y==3): //do something.
        break;
    default: //do something.
        break;
}
Run Code Online (Sandbox Code Playgroud)

这段代码给我错误。

Esa*_*ija 3

这并不比真正的读或写更好

if (x==1 && y==1) {
    //do something.
}
else if (x==3 && y==-1) {
    //do something.
}
else if (x==0 && y==3) {
    //do something.
}
else {
    //do something.
}
Run Code Online (Sandbox Code Playgroud)

但是,是的,这对于开关盒来说是不可能的。