1. public class Test { 2. static boolean foo(char c) { 3. System.out.print(c); 4. return true; 5. } 6. public static void main( String[] argv ) { 7. int i =0; 8. for ( foo('A'); foo('B')&&(i<2); foo('C')){ 9. i++ ; 10. foo('D'); 12. } 13. } 14. } What is the result?
第8行没看明白,请明白的指点一下,谢谢!
第8行没看明白,请明白的指点一下,谢谢!
你是读for循环不明白把。你把它变成while循环,也可以啊。
第一个;号之前,不要管,第二个;号后的表达式循环最后执行就是了。
foo(char c)方法返回的都是true;
在main()方法里,
当i=0时,往下,先执行foo('A'),这是一个初始语句,
只执行一次,以后不再执行,所以打印A,往下执行foo('B'),
打印B,判断i<2,再往下执行i++,i就为1,再foo('D'),打印
D,再执行foo('C'),打印C;好了,一次循环执行完毕。当i=1时,执行foo('B'),打印B,判断i<2,再往下,i++,i为2了,
foo('D'),打印D,再执行foo('C'),打印C,好了,第二次循环执行完毕。当i=2时,执行foo('B'),打印B,判断i<2,不通过,结束循环,结束程序
就是一个for循环
for(Int i=0 ;i<10;i++)
这个你能看懂吧,套上去就是了
for语句含义大概是:先执行初始语句,判断逻辑表达式的值,当逻辑表达式的为真时,执行循环体语句,执行迭代语句,然后再去判别逻辑表达式的值,这一过程一直进行下去,直到逻辑表达式的值为假时,循环退出。
按我的理解应该是:ABCBCD,不知对不对?
应该是ABCDBCD