public class Test {
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<2);foo('C')){
i++;
foo('D');
}
}
}
结果:
ABDCBDCB
解释:
我把&&理解的有些失误,这个是短路与,只有两个都对了,才是对,如果有一个错了,就不会在判断第二个,我那会的想法把它想成了短路与前面那个会死循环,因为它一直对,这个理解的失误了,然后如果for循环中的循环条件为false,那就终止循环