一个考察for循环题 讨论一下

时间:2023-03-08 23:58:42
一个考察for循环题  讨论一下

一道Java程序题,主要是考察for循环如下所示:

 public class Test {
static boolean fun(char c) {
System.out.print(c);
return true;
}
public static void main(String[] args) {
int i=0;
   for(fun('A');fun('B')&&(i<2);fun('C')) {
   i++;
fun('D');
}
}
}

  这道题考察的就是对for循环的理解。for(A,B,C){执行语句},在for循环中,A代表的是初始化语句,B代表判断语句,C代表循环条件。

  即for(初始化语句,判断语句,循环条件){执行语句}。

  对于上面的程序for(fun('A');fun('B')&&(i<2);fun('C'))

  首先,方法fun(‘A’)是初始化条件,所以只执行一次,fun(‘A’)返回打印A。

  然后,当i=0时, 符合i<2的循环条件,执行fun(‘B’)打印B,然后执行大括号内的循环语句,执行i++,输出D,最后执行fun(‘C’),输出C。这次循环的输出结果是ABDC。

  同理,i=1时,执行结果是BDC,i变为2。

  最后,fun('B')&&(i<2)的执行是从左向右,fun(‘B’)输出B,2<2不成立,终止循环。

  所以,最终输出的结果是ABDCBDCB。

  出处:http://www.cnblogs.com/bester/p/3260661.html