これら 2 つのループの結果が異なるのはなぜですか? どちらも各配列のすべての値を 5 に初期化すると思っていましたが、2 番目の配列だけが機能します。誰かがこれがなぜなのか説明できますか?
static main(args)
{
double[][] x = new double[3][3]
double[][] y = new double[3][3]
for(row in x)
{
for(num in row)
{
num=5
}
}
for(int i=0;i<y.size();i++)
{
for(int j=0;j<y[i].size();j++)
{
y[i][j]=5
}
}
println "x: ${x}"
println "y: ${y}"
}
そして、ここに出力があります
x: [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]
y: [[5.0, 5.0, 5.0], [5.0, 5.0, 5.0], [5.0, 5.0, 5.0]]