for循环执行流程面试题(经典)

一:for循环案例面试题

public class TestForExecute {
    public static void main(String[] args) {
        int i=0;
        for (printExecute("A");printExecute("B")&& i<2;printExecute("C")) {
            i++;
            System.err.print("D");
        }
    }

    public static boolean printExecute(String var1){
        System.err.print(var1);
        return true;
    }
}
ABDCBDCB

二:通过分析for循环执行流程得到结果

1).for循环的结构说明

 for (初始化表达式;条件表达式;循环体执行之后的表达式){
            循环体;
     }

2).for循环的执行流程
①:首先会执行初始化表达式(只会执行一次)
②:其次会执行条件表达式,当条件表达式为true时,就会执行循环体,为false时,就会直接跳出循环
③:执行完循环体之后就会执行循环体执行之后的表达式
④:然后就会继续执行条件表达式->循环体->循环体之后的表达式,直到条件表达式不满足,跳出循环

3).对案例进行解析
①:printExecute(“A”)相当于初始化表达式,所以从始至终只会执行一遍,且是第一个执行的
②:printExecute(“B”)&&i<2,条件表达式,第二步执行,且i=0,满足条件
③:执行i++和打印D,然后执行循环体之后的表达式,即printExecute(“C”)
④:所以第一遍就是打印的 ABDC
⑤:然后第二遍直接执行条件表达式即printExecute(“B”)&&i<2,因为i++使i=1,满足条件
⑥:所以打印BDC,然后第三遍执行条件表达式,因为i=2,不满足条件,所以只执行了条件表达式的前面部分,即printExecute(“B”),因为i<2,不满足条件,所以不会执行循环体,所以最终结果就是ABDCBDCB

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值