for循环的执行过程

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

}

请问这个程序输出的结果是什么?

没错,是:A B D C B D C B D C B

为什么是这样呢?因为for循环先执行第一个分号前的也就是‘A’,再执行‘B’,然后符合条件就执行for循环中的代码

接着跳到第二个分号后的‘C’这执行,执行完了再比较‘B’是否满足条件,如果满足则继续进入for循环

也就是BDC一直循环执行,直到运行B时,后面的条件不满足了为止,输出最后一个‘B’。

看到这里,你是否对for循环有了一个深刻的认识了呢?

时间: 2024-11-08 23:30:59

for循环的执行过程的相关文章

Java中for循环的执行过程分析_java

本文实例分析了Java中for循环的执行过程.分享给大家供大家参考.具体分析如下: public class Test01{ public static void main(String[] args) { int i = 0 ; for(foo('A');foo('B')&&i<3;foo('C')){ i++ ; foo('D') ; } } public static boolean foo(char c){ System.out.print(c + " "

php内核探索之zend_execute的具体执行过程

解释器引擎最终执行op的函数是zend_execute,实际上zend_execute是一个函数指针,在引擎初始化的时候zend_execute默认指向了execute,这个execute定义在{PHPSRC}/Zend/zend_vm_execute.h: ZEND_API void execute(zend_op_array *op_array TSRMLS_DC) { zend_execute_data *execute_data; zend_bool nested = 0; zend_b

winform操作webbrowser控件,全自动延时执行过程的精准控制!

问题描述 winform操作webbrowser控件,全自动延时执行过程的精准控制! 如题,我有20个方法(都是操作webbrowser控件的)需要依次执行,执行第一个方法之后会返回一个结果,根据这个结果判断第一个方法是否执行成功,但第一个方法执行完毕的时间是未知的,我又必要等待这个返回结果判断是否成功,才能决定多久调用下一个方法执行! 核心问题就是:怎样去等待上一方法个执行完毕返回结果(每个方法都操作webbrowser控件的,都是未知的延迟等待时间),在这个等待的时间里我又不能中断线程,因为

shell学习笔记3---awk的执行过程(原创)

awk_script的组成1.awk_script可以由一条或多条awk_cmd组成,两条awk_cmd之间一般以NEWLINE分隔2.awk_cmd由两部分组成: awk_pattern { actions }3.awk_script可以被分成多行书写,必须确保整个awk_script被单引号括起来.awk命令的一般形式awk ' BEGIN { actions }awk_pattern1 { actions }............awk_patternN { actions }END {

java循环体里边创建对象,它的执行过程是怎样的?

问题描述 java循环体里边创建对象,它的执行过程是怎样的? public class Test { public static void main(String[] args) { for(int i=0;i<10;i++) { Object obj = new Object(); } } } 比如说上边这一段代码,越看越不对劲了,它难道是在main方法栈中先后创建了10个引用叫obj?然后每个obj指向不同的new出来的对象? 解决方案 单步调试下就知道了,正常的逻辑是这样的,可能编译器优化

SaltStack的salt-master salt-minion启动 Master与Minion认证 salt ‘*’ test.ping执行过程

salt-master启动过程 环境介绍 我们使用如下环境来分析SaltStack源码:     系统:CentOS-7    python版本:2.7.5    saltstack版本:2015.5.2 (Lithium) 我们使用如下方法来安装salt-master:     rpm -Uvh http://mirrors.opencas.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm    yum install salt-master  场景

javascript-JavaScript,进度条显示函数执行过程进度

问题描述 JavaScript,进度条显示函数执行过程进度 JavaScript,点击某个按钮开始执行函数,如何同时显示一个简单进度条?从而显示函数执行过程进度? 解决方案 如果是for循环这种基本ui是假死清空下,无法更新dom的进度的.如果是ajax,可以使用xmlhttpRequest level2的新特性onprogress,不过低版本呢ie不支持 ajax看这个:http://www.ruanyifeng.com/blog/2012/09/xmlhttprequest_level_2.

Red5应用程序执行过程中遇到的错误

问题描述 我的服务器端应用程序完成下面的功能测试Demo:1.循环监听数据库,30分钟查询一次2.手动初始化数据库报警信息为1(也可以不用手动初始化,程序课自动初始化)3.查询到报警信息为1.启动视频流录制函数,录制15分钟的视频(由客户端不间断推送),录制完后将数据库中报警信息置为0:4.查询到报警信息为0,自动将报警信息置为1,30分钟后查到为1的时候可自动录制视频 客户端连接应用程序,应用程序执行过程中打印到Red5-service.log中的问题如下:INFO|jvm1|2013/01/

求解答:java小程序执行过程

问题描述 求解答:java小程序执行过程 package chap14; import java.util.*; interface Generator { T next(); } class Coffee { private static long counter = 0; private final long id = counter++; public String toString() { return getClass().getSimpleName() + " " + id