Java之for循环语句的执行顺序,被坑一次,永远忘不了

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cadi2011/article/details/86471051

面试题:

public class Test
{
    static boolean foo(char c)
    {
        System.out.print(c);
        return true;
    }
    public static void main( String[] argv )
    {
        int i = 0;
        for ( foo('A'); foo('B') && (i < 2); foo('C'))
        {
            i++ ;
            foo('D');
        }
    }
}
What is the result?

输出结果:

ABDCBDCB

for(条件1;条件2;条件3) {

    //语句

}

执行顺序是条件1->条件2->语句->条件3->条件2->语句->条件3->条件2........

如果条件2为true,则一直执行。如果条件2为false,则for循环结束

如果改成while,则更加一目了然

改写成while语句,一目了然 
int i = 0; 
foo('A'); 
while(foo('B') && (i<2)){
    i++;
    foo('D');
    foo('C');
}

ps:分析内容来自大牛的评论,非常赞,我拿过来

猜你喜欢

转载自blog.csdn.net/cadi2011/article/details/86471051