public static void main(String args[])
{
int i=0;
for(txx('a');txx('b')&&(i<2);txx('c'))
//1:这开始运算,txx('a')会调用函数static boolean txx(char c) ,结果肯定是输出a,
2: 接着往下走,到同上调用,输出结果为b,返回true
:3: int i=0 ,所以i<2是true,又知道txx('b')为true,所以true&&true是true
4:因为是true,执行循环,i++,得i=1,然后打印出1
5:接着到了txx('d'); 调用函数,输出结果是d
6:接着就是for循环,到达txx('c'),调用输出c
7:接着到达 同样先txx('b'),输出b,txx('b')&&(i<2)返回true值
8:i++,得i=2,打印一次2
9:到达txx('d'); 调用函数打印d
10,:到达txx('c')) ,调用函数打印c
11:接着到达 txx('b')&&(i<2);同样先txx('b'),输出b,
12:但是此时i=2,此时i<2返回false,txx('b')&&(i<2);返回false,循环结束
13:最终结果是ab1dcb2dcb
{
i++;
System.out.print(i);
txx('d');
}
}
} 作者: 张文强 时间: 2012-6-25 17:27
分号第一部分是初始化语句,在for循环前先执行一遍,第二部分是循环的终止控制,当
foo('B')&&(i <2)为false时循环就终止了,第3部分在每次循环完毕时执行
A B D C (第一次)
B D C(第二次)
B(条件不成立)(第三次)