当前位置: 代码迷 >> J2SE >> for里面的if判断,加在for里边
  详细解决方案

for里面的if判断,加在for里边

热度:226   发布时间:2016-04-23 20:16:22.0
for里面的if判断,加在for里面
如下两段代码:
1、
for(j=n;j>=0;j--){
   if(a>b)
      语句1;
}
2、
for(j=n;j>=0 && a>b;j--){
      语句1;
}

我这边测试的效果不一样,实在弄不懂原因,麻烦大家帮忙看一看,谢谢了。
------解决思路----------------------
for循环的执行顺序
 for(条件1;条件2;条件3){
 语句4;
}
首先初始执行条件1,然后执行条件2,符合条件2执行语句4,然后执行条件3,然后条件2...
你可以想一下,如果你条件2不符合就会停止循环,差异就在这里了,你的第2段代码,如果不符合条件2就没有循环了
------解决思路----------------------
这效果当然会不一样了。

第1个,如果a>b返回false的话,循环会继续执行,因为if在循环之中,并不能影响循环。
第2个则不同,如果a>b返回false,循环会直接终止。
连个的效果,相当与下面两段程序,一看便知。

1.
for(j=n;j>=0;j--){
   if(a>b){
      语句1;
   }else{
      continue;
   }
}

2.
for(j=n;j>=0;j--){
   if(a>b){
      语句1;
   }else{
      break;
   }
}
  相关解决方案