社区
Java SE
帖子详情
请教一个问题,请高手帮忙回答,谢谢
Edward1688
2012-05-22 08:06:05
public class FooDemo{
static boolean foo(char c) {
System.out.print(c);
return true;
}
public static void main(String[] args ) {
int i =0;
for ( foo(’a’); foo(’b’)&&(i<2); foo(’c’)){
i++ ;
foo(’d’);
}
}
}
请问结果为什么是
abdcbdcb
呢?
...全文
201
3
打赏
收藏
请教一个问题,请高手帮忙回答,谢谢
public class FooDemo{ static boolean foo(char c) { System.out.print(c); return true; } public static void main(String[] args ) { int i =0; for ( foo(’a’); foo(’b’)&&(i<2); foo(’c’)){ i++ ; foo(’d’); } } } 请问结果为什么是 abdcbdcb 呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
古市轩
2012-05-22
打赏
举报
回复
1
进入for循环后首先初始化,即执行foo(’a’)部分,输出a;(这个初始化部分只会执行一次)
然后判断条件,foo(’b’),输出b,并返回true,i<2返回true,所以条件为真,进入for循环里面,执行i++后i 变成1,执行foo(’d’); 输出d;
然后执行改变条件语句foo(’c’),输出c;
再次判断条件,输出b;并进入for循环i的值增1变成2并输出d;
然后又执行改变条件语句foo(’c’),输出c;
再判断条件输出b;发现i<2返回false,所以推出循环;程序结束
古输出结果为abdcbdcb
enumlin
2012-05-22
打赏
举报
回复
1
要理解这个结果,首先你要之道for循环的工作流程。for循环的工作流程是这样的。首先,执行初始化语句,就是你的程序中的foo('a’),然后,执行循环条件,就是foo('b')&&(i< 2);接着执行for循环体里的内容,最后执行改变循环条年语句,就是foo('c').注意:初始化语句只执行一次。
原理讲完了。现在看一下你的程序:
1.执行初始化打印了 a
2.执行的循环条件,打印了 b
3.执行循环体,打印了d,注意:执行完循环体后i的值是1了。
4.执行循环改变语句,打印了c。
然后再执行循环判断条件,打印了b,因为i等于1,小于2,条件满足,进入循环体,打印d,这时候i等于2了紧接着,执行循环改变语句,打印c,进行循环条件判断,打印了b,但是因为这是i等于了2,不小于2,所以程序等了。
so,打印的结果就是abdcbdcb了。
sdojqy1122
2012-05-22
打赏
举报
回复
foo('a') 属于声明初始化,只开始执行一次
相当于
int i =0;
foo('a');
loop:
if(foo(’b’)&&(i<2)){
i++ ;
foo('d');
foo('c');
}
所以结果是abdcbdcb;
请
回答
完我的上
一个
问题
用户
请
求
回答
上
一个
问题
,但系统无法追溯历史对话内容,因此提示用户重新提供
问题
或补充相关信息,以确保准确响应。
请
使劲
回答
一个
关于UNIX/Linux自动扩展stack的
问题
本文深入探讨了Linux系统中栈(stack)的管理机制,包括栈的扩展、回收策略及潜在
问题
。作者通过实验代码展示了如何利用mmap固定映射(fixmap)来干预栈的正常工作,揭示了操作系统对虚拟内存管理的具体细节。
请
ruby老手
帮忙
回答
几个
问题
,先谢
一个
博主计划使用ROR构建社区论坛,寻求关于网页静态化及内容管理系统(CMS)的选择建议。
请
使劲
回答
一个
关于UNIX/Linux自己主动扩展stack的
问题
本文深入探讨了Linux系统中栈(stack)的管理机制,包括栈如何向下扩展、操作系统如何处理栈空间回收等
问题
,并通过代码示例展示了如何人为制造栈溢出的情况。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章