pがint型の要素を持つ2次元配列であると仮定します。次のコードの効果を最もよく表しているのは、次のうちどれですか?
int i = 0;
while ( i < p[ 0 ].length )
{
p[ 0 ][ i ] = 0;
i++;
}
誰かがこれを私のために平易な英語に翻訳できますか?私はループがいつ続くかを理解しているだけですが、何i < p[0].length
がp[0]
何であるp[0][i]
か?
pがint型の要素を持つ2次元配列であると仮定します。次のコードの効果を最もよく表しているのは、次のうちどれですか?
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[][]
--intの配列の配列です。
p[0]
はの最初の要素でありp
、タイプはint[]
です。演算子は[]
配列にインデックスを付けます。a[n]
配列からインデックスnの要素をフェッチしますa
。0ベースのインデックスを使用するため、最初の要素のインデックスは0です(予想どおり1ではありません)。
ループはすべての要素をp[0]
値に設定します0
。
これは、を使用してより簡潔に実行することもできることに注意してくださいArrays.fill
。次のコードは、投稿したループと同じ効果があります。
Arrays.fill(p[0], 0);
i
これは、配列の1番目の配列の長さだけ増分し、 th要素をp
に設定するループです。i
0
javaでは、の最初の配列p[0][i]
と同じです。p[i]
p
おそらく、次のp
ように宣言されていますint[][] p
p [0] .lengthは、2番目に指定された次元のサイズを指します。n次元の配列がある場合は、int a [] [] [] [] [] [] [] [... n回、aと言います。長さは最初の次元を指し、a[0].lengthは2番目の次元の長さなどを指します。
p [0] [i]は明らかに、iの現在の値で指定された列インデックスを持つ最初の行を指します。