这是回到Java 101的开头,但我在这里有这个代码:
if ((d==3)&&(City.walls[x--][y])){
System.out.println ("Fourth Condition true");
System.out.println (City.walls[x--][y]);
return false;
}
即使City.walls[x--][y]
)为false,并且System.out.println
通过打印出false来确认这一点,它仍然会输入if语句,无论如何。比较中我做错了什么?提前谢谢。
答案 0 :(得分:3)
您正在使用x--,它会更改x的值。首先它返回值,然后递减值:
int x = 5;
System.out.println(x--); //outputs 5
System.out.println(x); //outputs 4
你可能想说x-1
答案 1 :(得分:2)
当您的代码在if
条件下执行,然后在您在控制台中打印的if
条件内时,值将会有所不同。
您在if条件中递减x的值。 因此,当您在条件内打印时,您将获得递减值。