Day0001:代码诉说for循环的顺序

代码

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');
        }
    }
}

答案

执行结果: ABDCBDCB

分析与解答

关键点是对 for 循环语句的条件执行时机、循环条件的理解。
for (循环变量初始化 a; 循环判断条件 b; 循环变量迭代 c){
// 循环体
}

  • 循环变量初始化语句 a:该语句在 for 循环开始前执行,且只执行一次,支持多条初始化语句,用逗号分开;
  • 循环判断条件 b:是一个 boolean 表达式,为 true 时执行一次循环体,为 false 时结束循环;
  • 循环变量迭代 c:实现对循环变量的迭代控制,执行完一次循环体之后执行。

从执行顺序上来看:a → b → c → b → c …
当执行第三次的时候,条件 &&(i<2) 不符合条件,循环结束,所以执行结果是:ABDCBDCB

更多内容,公众号

想要关注等多内容,请微信搜索微信公众号:DAMO小天天

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值