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'))

按照这个顺序推理结果是

abdcbdcb

posted @ 2021-12-28 10:40  奥特曼阿文  阅读(286)  评论(0)    收藏  举报