请解释这个循环:
for(p=0;p<a[j];p++)
我是初学者,我很困惑这些循环如何工作?
请强调在循环中使用a[j]
。
答案 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
的数组对象,j
为int
。此代码段之前的代码可能如下所示:
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数字原型。