一道java笔试题,求大神解答?

public class Interview {
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<3);foo('C')){
i++;
foo('D');
}
}
}
这个的输出结果为:ABDCBDCBDCB,不懂这个结果是怎么来的

12个回答

参考for循环的执行顺序

自己用代入法算一下就出来了

应该就是for循环的执行顺序啊。

public class Interview {
static boolean foo(char c){
System.out.print(c);
return true;
}

JAVA中for循环的执行顺序是初始化(即第一个分号前的的语句)->判断(第二个分号前的语句)->执行循环中的语句->执行括号中第三个语句->判断->执行循环中的语句......

for循环先执行第一个分号前的语句----->foo('A')----->输出A
然后执行第二个分号前的语句----->foo('B')&&(i输出B 并得出(i=0) 然后执行循环中的语句----->i++; foo('D');----->得出i=1; 输出D
然后执行第二个分号后的语句----->foo('C')-----输出C
然后执行第二个分号前的语句----->foo('B')&&(i输出B 并得出(i=1)<3......

for(变量初始化1; 循环条件2; 修改循环变量的值3){
循环体4
}
for循环的执行顺序是1》2》4》3》2》4》3》2》4》3》……

老铁继续去预习吧,函数就是输出字母,满足FOR里面的顺序是1243243

for(变量初始化1; 循环条件2; 修改循环变量的值3){
循环体4
}
for循环的执行顺序是1》2》4》3》2》4》3》2》4》3》……

这都不会,foo('A')是初始化,第二个是判断,第三个是更新,i=0,ABDC,i=1,BDC,i=2,BDC,i=3,B判断i<3,结束,不知道难在哪里

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐