今天看到这么一个面试题,是关于一个for循环的执行结果的问题,他的代码的执行结果是什么呢?题目如下:
1, 该程序的执行结果是什么:______
public class ForTest {
/**
* @Author ch
* @Description for循环的执行顺序
* @Date 2021/5/17 11:05
* @Param a:
* @return boolean
**/
public static boolean testA(char a){
System.out.print(a);
return true;
}
/**
* for循环的执行顺序
* @param args
*/
public static void main(String[] args) {
int i=0;
for (testA('a');testA('b')&&(i<2);testA('c')) {
i++;
testA('d');
}
}
}
A:abdcbdcb
B:abcdabcd
C:Compilation fails
D:An exception is thrown at runtime
看完代码后相信各位童鞋心理都有了自己的答案,那么现在就公布答案啦:答案是A
或许有些童鞋会开始疑问了,那么接下来就让我们接着往下看吧.
for(条件表达式1;条件表达式2;条件表达式3) {
语句块;
}
循环中 3 个表达式的含义:
注意事项: for 关键字后面括号中的 3 个条件表达式必须用“;”隔开。for 循环中的这 3 部分以及大括号中使循环体必需的 4 个组成部分完美地结合在一起,简单明了。
for 循环语句执行的过程为: 首先执行条件表达式 1 进行初始化,然后判断条件表达式 2 的值是否为 true,如果为 true,则执行循环体语句块;否则直接退出循环。最后执行表达式 3,改变循环变量的值,至此完成一次循环。接下来进行下一次循环,直到条件表达式 2 的值为 false,才结束循环,其运行流程如图所示:
看明白for循环的执行顺序,我们再看这道题的代码.解除疑问