版权声明:本文为博主原创文章,未经博主允许不得转载。 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:分析内容来自大牛的评论,非常赞,我拿过来