static boolean foo(int c){
System.out.print(c);
return true;
}
public static void main(String[] args){
int i=0;
for(foo(1);foo(2)&&(i<2);foo(3)){
i++;
foo(4);
}
}
7条回答 默认 最新
- threenewbee 2016-05-05 07:35关注
任何for循环: for(语句1;语句2;语句3) { ... } 都可以机械地改写为 语句1 while(语句2) { ... 语句3 } 比如 for (i = 1; i <= 100; i++) { ... } 可以写为 i = 1; while (i <= 100) { ... i++; } 回到你的问题 for(foo(1);foo(2)&&(i<2);foo(3)) { i++; foo(4); } 就是 foo(1); while (foo(2)&&(i<2)) { i++; foo(4); foo(3); } 先执行foo(1) 然后判断foo(2)&&(i<2),这个过程执行了foo(2) 然后执行foo(4) foo(3) 然后判断foo(2)&&(i<2),这个过程执行了foo(2) 然后执行foo(4) foo(3) 然后判断foo(2)&&(i<2),这个过程执行了foo(2),条件不满足,结束。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报