高手给我讲下下面这段代码的最后的结果为什么是ABDCBDCB,我需要过程,小弟在这跪谢了!!!

public class test 

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'); 


}

慕容708150
浏览 82回答 2
2回答

白衣非少年

for执行的顺序我就不多解释了。简单的带过进入for循环的时候首先执行的是foo('A')这里输出A其次执行foo(‘B’)输出B返回为真,判断I是不是小于2(i=0小于2)为真执行i++;执行foo(‘D’);输出D;执行foo('C');输出C第一次循环结束,开始第二次循环第二次循环就不再执行foo(‘A’);冲foo(‘B’)开始,输出B返回真,判断I是不是小于2(i=1小于2)为真执行i++;执行foo(‘D’);输出D执行foo(‘C’)输出C第二次循环结束第三次开始执行foo(‘B’)输出B返回真判断I是不是小于2(i=2不于2)为假循环结束所以输出为ABDCBDCB

FFIVE

循环的时候先调用foo('A')输出A 然后看条件调用foo('B')输出B 并且满足了i<2 所以执行循环体内部的 就是i++ 调用foo('D')输出D 下一步执行foo('C')输出C 因为满足循环条件,所以继续执行foo('B')&&(i=1)<2,输出B,满足条件再次进入循环i++ 调用foo('D')输出D,接着执行foo('C'),然后再判断条件foo('B')输出B&&(i=2)<2不成立 循环退出。输出结果为ABDCBDCBfor(int i=0;i<2;i++)和这个对比一下就能看出来了,就是循环顺序的问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java