你真的了解For循环吗?一道For循环Java面试题引发的思考

今天看到这么一个面试题,是关于一个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循环的执行顺序,我们再看这道题的代码.解除疑问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值