for (foo('a'); foo('b') && (i < 2); foo('c')) { i++; foo('d');}
static boolean foo(char c) {
System.out.println(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循环。
for (int i = 0 ;i<2 ;i++){//循环体}
for(单次表达式;循环结束条件;末尾循环体){循环体;}。
循环的顺序是
初始化(foo(a))只执行一次 --- 判断(foo('b') && (i < 2);) --- 执行循环体(i++;foo(d);)--- 最后执行(foo('c'))
按照这个顺序推理结果是

浙公网安备 33010602011771号