当使用增强的for循环迭代数组x时,y和z表示什么以及循环如何工作。这是我写的代码,它有效,但我不明白为什么以及如何工作。如果有人在显示多维数组时可以解释for循环的语法,我将不胜感激。
// enhanced for loop
String[][] x =
{
{"a", "a^2", "a^3"},
{"1", "1", "1"},
{"2", "4", "8"},
{"3", "9", "27"},
{"4", "16", "64"}
};
for (String[] y: x)
{
for (String z: y)
{
System.out.print(z + "\t");
}
System.out.println();
答案 0 :(得分:1)
对数组进行增强的for循环相当于在常规for循环中迭代数组的索引:
for (int i=0; i<x.length; i++)
{
String[] y = x[i];
for (int j=0; j<y.length; j++)
{
String z = y[j];
System.out.print(z + "\t");
}
System.out.println();
}
当你在二维数组上进行迭代时,外部数组的每个元素本身就是一个数组。
答案 1 :(得分:1)
for (String[] y: x)
表示数组数组中的每个String数组(称为y)(称为x)&#39;。
所以y [0],例如是{"a", "a^2", "a^3"}
然后同样地,for (String z: y)
表示对于我们之前定义为y的String数组中名为z的每个String。
因此,y的第一遍z [0]是&#34; a&#34;。然后z [1]是&#34; a ^ 2&#34;和z [2]是&#34; a ^ 3&#34;。
这完成了y的第一个条目的迭代,我们重复下一个等等,等等。
答案 2 :(得分:0)
你的第一个for (String[] y: x)
通过x中的每个元素发生了什么,那些碰巧是String []类型,字符串数组,并且每个主题都迭代它的元素通过第二个循环for (String z: y)
,因此y将是:
(&#34; a&#34;,&#34; a ^ 2&#34;,&#34; a ^ 3&#34;),
(&#34; 1&#34;,&#34; 1&#34;,&#34; 1&#34;),
(&#34; 2&#34;,&#34; 4&#34;,&#34; 8&#34;),
。
。
和z的值将是a,a ^ 2,a ^ 3,1 ...... ....
答案 3 :(得分:0)
您可以在概念上将2D数组视为数组数组。 1级数组的每个元素都存储对另一个数组的引用,2级数组的每个元素都是实际数据,在本例中是&#39; int&#39;。
答案 4 :(得分:0)
这是增强for循环的语法,
for(<DataType of array><temporary variable name> : <Array to be iterated>)
{
System.out.println(variable name);
}
click here是您的问题,以了解增强型循环的工作原理。