private int i=0;
private int j=1;
private boolean returnTrue() {
System.out.println("return true");
return j>i;
}
private boolean returnFalse() {
System.out.println("return false");
return i>j;
}
public static void main(String[] args)
{
fy f = new fy();
if (f.returnFalse()&&f.returnTrue()) {
System.out.println("text");
}
}
直接只输出 return false 为什么不会输出 return false 和 return true 呢?
求解释!!!谢谢!
调用f.returnFalse(),打印"return false",return i>j返回值为false,
if (f.returnFalse()&&f.returnTrue())中第一个条件就是false,这个if已经不成立了,不会再去调用f.returnTrue(),if判断结束
if 的断路现象:
if( A && B){ }
当A为false的时候,就不会去判断B了。因为整个条件已经可以确认为false了。