栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

for(foo(‘a‘) ; foo(‘b‘) && (i<2);foo(‘c‘))的执行结果

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

for(foo(‘a‘) ; foo(‘b‘) && (i<2);foo(‘c‘))的执行结果

static boolean foo(char c) {
    System.out.println(c);
    return true;
}

public static void main(String[] args) {
    int i = 0;
    for (foo('a'); foo('b') && (i < 2); foo('c')) {
        i++;
        foo('d');
    }
}
//代码执行结果:a b d c b d c b

做这道面试题之前我们要了解for语句:

  1. 各部分执行的顺序
  2. 各部分执行的次数
  3. 循环的终止条件
    分号之前第一部分是初始化语句也就是foo(‘a’)所以只会执行一次,第二部分是循环终止控制,也就是循环条件当foo(‘b’) && (i<2)为false时条件就会终止,所以循环会执行两次,第三部分在每次循环完毕时执行,所以执行顺序是先foo(‘a’)所以先打印a,再次执行foo(‘b’)并且判断条件i<2 条件是否满足,满足的话进入循环体,然后i++i等于1,然后执行foo(‘d’)再打印d ,执行完毕再执行foo(‘c’)打印c,这是循环一次的结果 abdc,第二遍循环,因为a是初始化变量所以只执行一次,直接执行循环条件,先执行foo(‘b’)并且判断i<2条件是否满足,现在i是1所以条件满足进入循环体,执行i++,再次执行foo(‘d’),循环完毕执行(‘c’)然后打印c,循环第二遍的结果是bdc,这时循环还会继续执行,因为它还不知道i是否小于2,初始化变量不执行,执行循环条件,先执行foo(‘b’)打印b然后判断循环条件,现在i等于2所以i<2的条件不满足,所以循环结束
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/863460.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号