在for循环中使用数组元素作为终止

时间:2011-07-02 14:51:17

标签: java

请解释这个循环:

for(p=0;p<a[j];p++)

我是初学者,我很困惑这些循环如何工作?

请强调在循环中使用a[j]

2 个答案:

答案 0 :(得分:7)

如果在a[j]循环的每次迭代中for仍为常数正数,则循环将精确运行a[j]次,其中a[j]计算为integer long (或a[j],我们无法从发布的代码中得知)。当然可以在循环内修改j(或p)。在任何情况下,当评估循环条件时,循环终止a[j]大于或等于a[j]。在循环的每次迭代之前检查条件。如果for为零或负数,则永远不会执行break循环的内容。如果在循环内调用return或{{1}},循环也可以随时提前退出。

答案 1 :(得分:1)

你显然是初学者,所以我会把它解决。

变量a包含int数组对象,jint。此代码段之前的代码可能如下所示:

int j = 5; // for example
int[] a = new int[10]; // An array of 10 ints
a[5] = 3; // somewhere, the jth element of a should have been assigned

在此上下文中,a[j]3,因此 最初 的循环与以下内容相同:

for (p=0; p<3; p++)

我说“最初”的原因是循环中的代码可能会改变a[5],从而将循环终止条件更改为3以外的数字

对于nitpickers的注意:对于“int”,您可以阅读任何java数字原型。