java for循环问题
java大虾求帮忙,帮忙看看这个程序的for循环结构的具体执行思路?
public class O1_2_14 {
public O1_2_14() {
}
}
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');
}
}
}
------解决方案--------------------for (1;2;3) {
4
}
整个结构就是:
1 -> 2 -> (4 -> 3 -> 2)*
终止条件就是 2
因为你的例子里面,2 是:foo('b')&&(i<2)
而foo()函数永远返回 true,所以实际上唯一终止循环的条件就是 (i<2) 不成立。
------解决方案--------------------关键点在
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‘,’c'带进
这个函数
static boolean foo(char c) {
System.out.print(c);
return true;
}
然后i初始值为0;每次循环都i++;
就行了