小编典典

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

java

我的问题是程序没有按我原意的方式读取代码。

我有

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

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

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


阅读 538

收藏
2020-11-26

共1个答案

小编典典

用:

if (hero.getPos() == 6 || hero.getPos() == 11 || hero.getPos() == 16)) {

这将做您想要的。

你所做的是比较hero.getPos()有结果的(6|11|16),将做到按位或这些数字之间。

2020-11-26