我写了一个嵌套循环。奇怪的是:当条件为假且我不知道为什么时,第二个循环仍会进入该语句。
int[] g = {1,2};
int[] s = {1,2,3};
for(int i=0;i<s.length;){
for(int j=0;j<g.length&&i<s.length;){
if(s[i]>=g[j]){
i++;
j++;
}else{
i++;
}
}
}
我希望j==g.length
,即j == 2
时,内循环会中断。但是实际发生的是,当j==2
时,内部循环将跳转到
...
else{
i++;
}
答案 0 :(得分:1)
您怎么知道它会进入其他部分?当j<g.length
条件失败(j = 2)时,内部循环将始终停止。
尝试放入System.out.println()语句或调试器以检查流程。