Java while循环与数组

时间:2012-12-23 19:36:04

标签: java

假设p是一个二维数组,其元素类型为int。以下哪个陈述最能说明以下代码的效果?

int i = 0;

while ( i < p[ 0 ].length )
{
  p[ 0 ][ i ] = 0;
  i++;
} 

有人可以为我翻译成简单的英语吗? 我只明白循环会在i < p[0].length时继续运行,但p[0]是什么,p[0][i]是什么?

4 个答案:

答案 0 :(得分:4)

"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

答案 1 :(得分:1)

变量p可能是int[][] - 一组int的数组。

p[0]p的第一个元素,类型为int[][]运算符索引到数组中。 a[n]从数组a中获取索引n处的元素。请注意,它使用基于0的索引,因此第一个元素的索引为0(而不是您预期的1)。

循环将p[0]中的所有元素设置为值0

请注意,使用Arrays.fill也可以更简洁地完成此操作。以下代码与您发布的循环具有相同的效果:

Arrays.fill(p[0], 0);

答案 2 :(得分:0)

这是一个循环,i增加p数组的第一个数组的长度,将i元素设置为0

在java中,p[0][i]p[i]的第一个数组的p相同。

据推测,p被声明为int[][] p

答案 3 :(得分:0)

p [0] .length指的是第二个指定尺寸的大小,如果有一个具有n个维度的数组,则说明int a [] [] [] [] [] [] [] [... n次那么a.length指的是第一维,a [0] .length指的是第二维的长度等。

p [0] [i]显然是指第一行,其列索引由i的当前值指定。