我在观看Java pong游戏教程视频时遇到了这些if
语句:
boolean upAccel, downAccel;
double y, velY;
public HumanPaddle() {
upAccel = false; downAccel = false;
}
public void setUpAccel(boolean input) {
upAccel = input;
}
public void setDownAccel(boolean input) {
downAccel = input;
}
// moves the paddle
public void move() {
/* What does the 'if(upAccel){ }' expression do..? */
if(upAccel) {
velY -= 1;
}
if(downAccel) {
velY += 1;
}
y = y + velY;
}
所以我理解setUpAccel
和setDownAccel
方法接受布尔值input
,它可以是true或false。但是,我尝试了if
语句 - 并将if(upAccel)
更改为if(upAccel = true)
。 Java并没有将表达看作同一个东西,所以我意识到这两个表达式是不同的!
我的问题是,if(upAccel)
表达式测试了什么?
答案 0 :(得分:1)
/* What does the 'if(upAccel){ }' expression do..? */
if(upAccel) {
velY -= 1;
}
它将评估为true可以重写为
/* What does the 'if(upAccel){ }' expression do..? */
if(upAccel==true) {
velY -= 1;
}
答案 1 :(得分:0)
语句(upAccel)
检查条件是否为真,然后继续执行velY -=1
。
(upAccel)
与(upAccel == true)
相同。
downAccel也是如此。