Java 循环

[复制链接]
查看11 | 回复5 | 2010-7-20 10:03:34 | 显示全部楼层 |阅读模式
public class MyTest {
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');
}
}
}
输出:
执行顺序:
来个深度分析

回复

使用道具 举报

千问 | 2010-7-20 10:03:34 | 显示全部楼层
最开始 i = 0:
循环部分输出: ABD, 此时 i = 1,执行foo(‘c’),输出C;
i = 1:
输出: BD,此时 i = 2, 执行foo('c'),输出C
i = 2 ,执行判断 foo('B') = true, 输出 B, i < 2 false,结束输出结果为: ABDCBDCB
回复

使用道具 举报

千问 | 2010-7-20 10:03:34 | 显示全部楼层
ABDCBDCB要知道for的循环顺序才行for(1;2;4){ 3}在循环的时候,就是1234 234 234 ...
回复

使用道具 举报

千问 | 2010-7-20 10:03:34 | 显示全部楼层
ABDCBDCB 建议你设置断点跟踪一下,一切你都会明白的。
回复

使用道具 举报

千问 | 2010-7-20 10:03:34 | 显示全部楼层
abdcbdcb 你要深度分析?只要搞好FOR的工作原理,for(1;2;3){4;}1处只执行一次,然后顺序为:2,4,3这样不断循环,每次循环前判断2处。
回复

使用道具 举报

千问 | 2010-7-20 10:03:34 | 显示全部楼层
ABDCBDC最后这个B ,我感觉不要的,记得好像是从右往左看的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行