首页 新闻 会员 周边

各位大神,求救!急,谢谢!!! JAVA

0
悬赏园豆:5 [已解决问题] 解决于 2015-12-08 11:07

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 呢?

求解释!!!谢谢!

Light.Elegant的主页 Light.Elegant | 初学一级 | 园豆:197
提问于:2015-12-08 10:32
< >
分享
最佳答案
0

调用f.returnFalse(),打印"return false",return i>j返回值为false,

 if (f.returnFalse()&&f.returnTrue())中第一个条件就是false,这个if已经不成立了,不会再去调用f.returnTrue(),if判断结束

收获园豆:3
MrNice | 老鸟四级 |园豆:3450 | 2015-12-08 10:38
其他回答(1)
0

if 的断路现象:

if( A && B){
}

当A为false的时候,就不会去判断B了。因为整个条件已经可以确认为false了。

收获园豆:2
[0] | 园豆:1257 (小虾三级) | 2015-12-08 10:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册