使用增强的for-java循环迭代多维数组
当使用增强的for循环遍历数组x时,y和z代表什么以及循环是如何工作的。这是我写的代码,它可以工作,但我不明白它为什么工作以及如何工作。如果有人能在显示多维数组时解释for循环的语法,我将不胜感激使用增强的for-java循环迭代多维数组,java,multidimensional-array,foreach,Java,Multidimensional Array,Foreach,当使用增强的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"}
// 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();
数组上的增强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();
}
for(int i=0;i
表示“对于数组(称为x)中的每个字符串数组(称为y)”
例如,y[0]是{“a”,“a^2”,“a^3”}
然后类似地,for(字符串z:y)
对于我们之前定义为y的字符串数组中称为z的每个字符串,表示“y”
因此,y的第一个过程中的z[0]是“a”。然后z[1]是“a^2”,z[2]是“a^3”
这就完成了y的第一个条目的迭代,我们重复下一个条目,等等。发生的事情是你的第一个for(String[]y:x)
你遍历x中的每个元素,这些元素恰好是String[],字符串数组,对于每个主题,通过第二个循环对其元素进行迭代(字符串z:y)
,因此y将是:
(“a”、“a^2”、“a^3”),
("1", "1", "1"),
("2", "4", "8"),
.
.
z的值是a,a^2,a^3,1….你可以从概念上把2D数组看作是数组的数组。1级数组的每个元素都存储对另一个数组的引用,2级数组的每个元素都是实际数据,在本例中是一个“int”。以下是增强for循环的语法
for(<DataType of array><temporary variable name> : <Array to be iterated>)
{
System.out.println(variable name);
}
用于(:了解增强型循环是如何工作的。您是否有可以重定向这些教程类型问题的讲师?我将从基本的for循环开始。如果您能理解本教程:然后转到增强型for循环:,在了解增强型for循环的工作原理后,您应该可以毫无问题地链接到多维数组的概念,具有增强的for.可能的重复
for(<DataType of array><temporary variable name> : <Array to be iterated>)
{
System.out.println(variable name);
}