if(i++>--j) 这里先将j-1,然后与i比较,比较完以后将i的值+1。
do {} while(i<5); 是先执行循环体,再检查循环条件。
这个代码中 if 条件可以忽略,每一轮循环,i+1, j-1,i加到5时,j减到了6
因为if里面i和j的前后运算符的原因。
根据i和j在运行过程中值的变化来看,if里面的continue不会执行到,因为到i等于5的时候已经退出循环了,而此时j的值为6,所以不会执行到if里面的continue。
可以在if前面,if语句块里,if后面打印下i和j的值,就可以明白程序的执行过程了。
测试代码如下:
public class IfContinueTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=1,j=10;
do {
System.out.println("before if, i="+i+",j="+j);
if(i++>--j) {
System.out.println("in if, i="+i+",j="+j);
continue;
}
System.out.println("after if, i="+i+",j="+j+"\n");
}while(i<5);
System.out.println("end, i="+i+",j="+j);
}
}
是因为i<5所以循环执行4次,循环结束后i加了4次1,j减了4次1
B:不能是java中的关键字
C:区分大小写