2 i mnovice I_mNovice 于 2016.05.05 22:54 提问

新手入门 求大神指导下这个FOR循环

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);
}
}

8个回答

caozhy
caozhy   Ds   Rxr 2016.05.05 23: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),条件不满足,结束。
qq_31987003
qq_31987003   2016.05.05 23:45

foo(1)
foo(2)
foo(4)
foo(3)
foo(2)
foo(4)
foo(3)
就是这样的

waterlilysnow
waterlilysnow   2016.05.07 14:23

for范式:
for(表达式1;表达式2;表达式3){
循环体;
}
执行顺序:1、先执行表达式1;
2、表达式2的值是否为真,如果为真,则执行循环体,循环体执行完,执行表达式3;执行完表达式3,继续判断表达式2的值;
3、表达式2的值为假,则结束for循环
要理解for循环,最好是自己画一下流程图,就很清楚了

Even_sneck
Even_sneck   2016.05.08 23:21

1、foo()是方法,
2、for是循环,
for(初始化条件,循环条件,变化量)
3、这两者本没有什么联系,看你需要是什么
for(int i=0i<4;i++){
if(i=1){
foo(1);
}else if(i=3){
foo(3);
}
}
4、使用switch会更好

a11111111q
a11111111q   2016.05.13 22:15

这个就是经典的递归一下。

huanghuangYY
huanghuangYY   2016.05.26 16:33

1 2 4 3 2 4 3 2

CSDNXIAON
CSDNXIAON   2016.05.05 23:02

c++新手入门级代码 for,if,continue的用法示例
【新手入门】mathematica--IF语句
python for hadoop 新手入门
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

balary
balary   2016.05.05 23:13

foo(1)
foo(2)
foo(4)
foo(3)
foo(2)
foo(4)
foo(3)
..........

懂吗

I_mNovice
I_mNovice 转不过来,一般的for循环中for(int i=0;i<10;i++)这个理解,先是用i计数,然后是i的约束条件,在是i的增加方式,这里的就晕了,for(foo(1);foo(2)&&(i<2);foo(3))完全不懂它的机制
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!