java中for循环执行的顺序图文详析

 更新时间:2021年06月24日 10:09:47   作者:超分辨菜鸟  
关于java的for循环想必大家非常熟悉,它是java常用的语句之一,这篇文章主要给大家介绍了关于java中for循环执行顺序的相关资料,需要的朋友可以参考下

for循环基础

for循环是最灵活也是最常用的循环结构,表达式一般如下:

  for(条件表达式1;条件表达式2;条件表达式3){

    语句块;

  }

接下来详细介绍Java for循环执行顺序的相关内容,先看看一道面试题,

来自小米笔试

static boolean foo(charc)
{
       System.out.print(c); 
       return true; 
}
 public static void main(String[] args) { 
        int i =0;
        for(foo('B');foo('A')&&(i<2);foo('C')) 
        { 
             i++; 
             foo('D');
         } 
}

上述代码Java函数的执行结果是什么()

A. BADCBDCB

B. BADCADCA

C. BACDBACD

D.不确定

输入IDEA的结果如下:

当然根据结果可以直接选择 --------B

但是也得搞清楚缘由;

以下贴上个人理解

分析理解

平时看到的for循环都是以下的样子:

for (int j = 0; j <10 ; j++) {
            System.out.println(j); 
        }

根据这个代码结合上面题目的代码,来分析一下for循环到底是怎么操作的

首先打个断点进行测试

此时毫无疑问 j=0;

这就代表for循环先执行的是int j=0;这个条件

接下来继续

由于当前的代码并不能确定是否先执行的是 j<10还是j++;

因此通过题目中的代码进行分析

可以发现在执行完B的打印后,代码开始执行A的打印,也就是说

for循环先执行赋值语句,再执行判断条件,

程序继续走:

开始执行for循环中的代码了,

在往下走

此时开始打印C,

由此总结出for循环的执行顺序:

总结

 到此这篇关于java中for循环执行顺序的文章就介绍到这了,更多相关java for循环执行顺序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mybatis输出SQL格式化方式

    mybatis输出SQL格式化方式

    这篇文章主要介绍了mybatis输出SQL格式化方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • java中线程安全的list详细特性和用法

    java中线程安全的list详细特性和用法

    这篇文章主要给大家介绍了关于java中线程安全的list详细特性和用法的相关资料,Java中有多种线程安全的List,其中比较常用的有Vector、Collections.synchronizedList()和CopyOnWriteArrayList三种方式,需要的朋友可以参考下
    2024-03-03
  • Java的WeakHashMap源码解析及使用场景详解

    Java的WeakHashMap源码解析及使用场景详解

    这篇文章主要介绍了Java的WeakHashMap源码解析及使用场景详解,Map本身生命周期很长,需要长期贮留内存中,但Map中的Entry可以删除,使用时可以从其它地方再次取得,需要的朋友可以参考下
    2023-09-09
  • Java synchronize底层实现原理及优化

    Java synchronize底层实现原理及优化

    这篇文章主要介绍了Java synchronize底层实现原理及优化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 手把手教你写一个spring IOC容器的方法

    手把手教你写一个spring IOC容器的方法

    这篇文章主要介绍了手把手教你写一个spring IOC容器的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • JAVA获得包含0-9、a-z、A-Z范围内字符串的的随机数实例

    JAVA获得包含0-9、a-z、A-Z范围内字符串的的随机数实例

    这篇文章主要介绍了JAVA获得包含0-9、a-z、A-Z范围内字符串的的随机数实例,包含随机数字、随机字符串的获取方法,需要的朋友可以参考下
    2014-07-07
  • Java Scala的隐式转换详解

    Java Scala的隐式转换详解

    隐式转换是在Scala编译器进行类型匹配时,如果找不到合适的类型,那么隐式转换会让编译器在作用范围内自动推导出来合适的类型。本文通过代码示例介绍了Scala的隐式转换,感兴趣的小伙伴可以参考阅读
    2023-04-04
  • SpringBoot全局异常处理之解决404/500错误

    SpringBoot全局异常处理之解决404/500错误

    在搭建项目框架的时候用的是springboot,想统一处理异常,但是发现404的错误总是捕捉不到,总是返回的是springBoot自带的错误结果信息,这篇文章主要给大家介绍了关于SpringBoot全局异常处理之解决404/500错误的相关资料,需要的朋友可以参考下
    2023-11-11
  • Java私有构造器使用方法示例

    Java私有构造器使用方法示例

    这篇文章主要介绍了Java私有构造器的含义、关键字,同时通过实例向大家展示其使用方法,需要的朋友可以参考下
    2017-09-09
  • java中String、StringBuffer与StringBuilder的区别

    java中String、StringBuffer与StringBuilder的区别

    这篇文章主要介绍了java 中String和StringBuffer与StringBuilder的区别,在开发过程中经常会用到String这个类进行操作。需要的朋友可以收藏下,方便下次浏览观看
    2021-12-12

最新评论