假设 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 的当前值指定。