Java 条件为false时执行的If语句

Java 条件为false时执行的If语句,java,Java,我正在制作的程序的一部分有这样一个if语句。出于某种原因,即使getChanceNumber返回整数2,并且isWeaponFound返回true,此代码块仍会继续执行 我不知道为什么即使条件为false,这个if语句仍然执行 感谢您的帮助。如果naturepart2.equalsrock为true,则该语句将由于| |或介于这些条件之间而执行。也许将它们括在括号中,将它们作为一个二进制语句分组,并附加到&&以及您对getChanceNumber和isWeaponFound的检查。该死,我是个白

我正在制作的程序的一部分有这样一个if语句。出于某种原因,即使getChanceNumber返回整数2,并且isWeaponFound返回true,此代码块仍会继续执行

我不知道为什么即使条件为false,这个if语句仍然执行


感谢您的帮助。

如果naturepart2.equalsrock为true,则该语句将由于| |或介于这些条件之间而执行。也许将它们括在括号中,将它们作为一个二进制语句分组,并附加到&&以及您对getChanceNumber和isWeaponFound的检查。

该死,我是个白痴。一个小时以来,我一直在想到底出了什么问题,我所需要做的就是把它放在括号里。谢谢
if (((section[mapposition][mapdirection].getChanceNumber()==0)&&(section[mapposition][mapdirection].isWeaponFound()==false))&&
                (naturepart1.equals("rock"))||(naturepart2.equals("rock"))){
                // System.out.println(section[mapposition][mapdirection].getChanceNumber());
                // System.out.println(section[mapposition][mapdirection].isWeaponFound());
                player.addWeapon(section[mapposition][mapdirection].getWeapon());
                break;
}