public class FooDemo
{
static boolean foo(char c)
{
System.out.print(c);
return true;
}
public static void main(String[] args)
{
int i = 0;
for (foo('a'); foo('b') && (i < 2); foo('c'))
{
i++;
foo('d');
}
}
}
------解决方案--------------------------------------------------------
运行结果:a-b-d-c-b-d-c-b;
函数就不解释了,无非就是传入一个字符,然后把这个字符打印出来并返回true而已。
- Java code
int i = 0;//初始化i=0;//下面的第一个foo("a");调用foo函数,这样会打印出来一个a,并且这里只会调用一次,例如平常写的i=0;只有第一次进入时起作用。//第二个foo('b');每次循环之前都会调用,哪怕这次不能进入for循环,所以他紧接a之后打印一个b。//第三个foo('c');每次进入循环并且执行完毕后调用,所以,如果进入循环肯定会调用它,如果没进入循环就不会调用它,跟上面的不一样哦,上面第二个foo会比这个多调用一次。//第四个foo('d');更简单了,只有进入for循环才会调用。for (foo('a'); foo('b') && (i < 2); foo('c')){ i++; foo('d');}