1 注意Java中continue在循环的使用
continue作用:结束本次循环,直接进入下一次循环
1.1 在while和do - while中
continue在while和do - while使用效果大致一样,所以我们用while举例。
1.1.1 continue在循环条件变更之前
while ( 循环条件判断 ) {
//循环体
if (循环条件之一) {
continue;
}
//循环条件变更
}
while (i <= 7) {
System.out.println('*');
if (i == 5) {
continue;
}
i += 1;
}
如果continue在此处,当i == 5时continue跳出本次循环直接进入下一次循环,未执行循环条件变更语句i += 1,进入下一次循环,在下一次循环中又执行continue,未执行循环条件变更进入下一次循环,一直如此执行i的值一直等于5,条件变更语句不执行,进入死循环,一直打印*。
1.1.2 continue在循环条件变更之后
while ( 循环条件判断 ) {
//循环体
//循环条件变更
if (循环条件之一) {
continue;
}
}
while (i <= 7) {
System.out.println('*');
i += 1;
if (i == 5) {
continue;
}
}
如果continue在此处,当i == 5时continue跳出本次循环直接进入下一次循环,在执行下次循环时,执行循环条件变更语句i += 1,i的值改变,不执行continue语句,从而使得不进入死循环;
1.2 在for循环中
for循环工作机制,如图:
for (int i = 1 ;i <= 7; i++) {
System.out.println('*');
if (i == 5) {
continue;
}
}
在for循环中,因为for循环的工作机制,循环体执行后都会进行循环条件变更,执行i++语句,使得条件变更不进入死循环。