for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
for (int k = 0; k < matrix[0].length; k++) {//先把那一横置 0
}
}
}
}
在敲代码的时候,有类似上面的循环,在内嵌的第三层循环
for (int k = 0; k < matrix[0].length; k++)
需要加上一个判断的条件,如果 k==j 就要跳过改次循环,最开始没注意,直接写成了:
for (int k = 0; k < matrix[0].length && k!=j; k++)
这样所是不对的,会导致 k==j 时直接终止循环,因为就相当于:
for (int k = 0; k < matrix[0].length; k++) {
if(k==j) return;
}
因此只能老老实实的如下实现:
for (int k = 0; k < matrix[0].length; k++) {
if(k==j) continue;
}
for 循环的第二个表达式只要为 false,就会使循环终止。

本文探讨了在三重循环中,如何正确地使用条件语句跳过特定迭代,避免因错误的逻辑导致循环提前终止。通过对比不同实现方式,强调了continue关键字在循环控制中的正确用法。
850

被折叠的 条评论
为什么被折叠?



