假设 p 是一个具有 int 类型元素的二维数组。以下哪个陈述最能描述以下代码的效果?
int i = 0;
while ( i < p[ 0 ].length )
{
p[ 0 ][ i ] = 0;
i++;
}
有人可以帮我把它翻译成简单的英语吗?我只知道循环会在什么时候继续进行,i < p[0].length但是什么是p[0]什么是什么p[0][i]?
假设 p 是一个具有 int 类型元素的二维数组。以下哪个陈述最能描述以下代码的效果?
int i = 0;
while ( i < p[ 0 ].length )
{
p[ 0 ][ i ] = 0;
i++;
}
有人可以帮我把它翻译成简单的英语吗?我只知道循环会在什么时候继续进行,i < p[0].length但是什么是p[0]什么是什么p[0][i]?
"i" equals zero
"p" is an array of arrays
while i is smaller than the "first" array's size in p
give 0 as value to i'th element of first array in p
increase i by 1
该变量p可能是一个int[][]- 一个整数数组。
p[0]是 的第一个元素p,并且具有类型int[]。[]运算符索引到数组中。a[n]从数组中获取索引 n 处的元素a。请注意,它使用基于 0 的索引,因此第一个元素的索引为 0(而不是您可能期望的 1)。
循环将所有元素设置p[0]为 value 0。
请注意,这也可以更简洁地使用Arrays.fill. 以下代码与您发布的循环具有相同的效果:
Arrays.fill(p[0], 0);
这是一个循环,i随着数组的第一个数组的长度递增p,将i第 th 元素设置为0.
在 javap[0][i]中与p[i]第一个数组相同p。
据推测,p被声明为int[][] p
p[0].length 指的是第二个指定维度的大小,就像如果有一个 n 维度的数组说 int a[][][][][][][][...n 次然后是 a。 length 指的是第一维,a[0].length 将指的是第二维的长度等。
p[0][i] 显然是指第一行,其列索引由 i 的当前值指定。