或者在if语句中使用int的操作数

Han*_*ans 1 java eclipse int operand

我的问题是,程序不是读取代码,因为我打算"他".

我有

if (hero.getPos() == (6 | 11 | 16)) {
    move = new Object[] {"Up", "Right", "Left"};
} else {
    move = new Object[] {"Up", "Down", "Right", "Left"};
}
Run Code Online (Sandbox Code Playgroud)

当英雄位置为6时,程序仍然转到其他位置.

这是为什么?是因为操作数?如果是,我应该如何改变它?

Bob*_*der 11

使用:

if (hero.getPos() == 6 || hero.getPos() == 11 || hero.getPos() == 16)) {
Run Code Online (Sandbox Code Playgroud)

这将做你想要的.

你所做的是比较hero.getPos()结果(6|11|16)将按位或按这些数字进行比较.