如果条件A和B同时为真,程序是否会执行下面代码中的else If条件:
如果(,,B) {}
if(A || B){
TODO CODE 2;}
我想知道TODO CODE 2是否会被执行。
换句话说:如果"结构优先还是逻辑优先?
因为当(A == true &&) (A || B)为真B == true)对吗?
许多谢谢,
盖伊表示:
我运行了一个程序,由于这个问题而陷入了无限循环。
我可以通过调试一个简单的测试来检查答案,但我更喜欢有逻辑经验的人的解释。
这是一个JAVA 19程序。代码如下:
if(this.zombie && ennemi.zombie) {
System.out.println("Combat de zombies ! ");
int rnd = (int) Math.floor(Math.random()*2);
if(rnd == 0 ){
this.state = State.Mort;
}else
ennemi.state = State.Mort ;
}else if(this.zombie || ennemi.zombie){
this.zombie = true;
this.state = State.Zombie;
ennemi.zombie = true;
ennemi.state = State.Zombie;
}
当IF块的语句为true时,不输入Else(和Else IF)或求值。在上面的例子中,当A和B都为True时,IF块内的代码将被执行,然后程序将跳过IF块的其余部分…
是的。"If"结构盛行。
它看起来像一个类似的问题,你已经回答了很多帖子从一段时间后:评估else if后,如果条件为真