我不明白以下的foreach循环。有人可以把它写成正常的' for loop,拜托? :)
public static String arrayToString (int[] a) {
String result = "";
for (int v : a) {
result = result + v + " ";
}
return result;
}
答案 0 :(得分:1)
您在 int类型的数组中对每个 int 类型 v 所说的循环定义为 a , 执行以下代码..
{ result = result + v + " "; }
v 是在本地定义的,只能在循环中使用。
在引用" normal"时,您可能最熟悉索引for循环。一个,像这样:
for(int i=0; i<a.length; i++)
{
result = result + a[i] + " ";
}
使用索引来跟踪循环中随时在集合或列表中的位置,但如果您只是想遍历整个集合或列表,那么您可以使用a表示示例
答案 1 :(得分:0)
public static String arrayToString (int[] a) {
String result = "";
for (int i = 0; i < a.length; ++i) {
result = result + a[i] + " ";
}
return result;
}
答案 2 :(得分:0)
for (int i = 0; i < a.length; i++) {
result = result + a[i] + " ";
}
答案 3 :(得分:0)
public static String arrayToString (int[] a) {
String result = "";
for (int idx = 0; idx < a.length; idx++) {
result = result + a[idx] + " ";
}
return result;
}
答案 4 :(得分:0)
您正在迭代数组a
并将数组a
中的每个元素保存在临时变量v
中。
所以循环的正常看起来像这样:
for (int i = 0; i < a.length; i++) {
result = result + a[i] + " ";
}
答案 5 :(得分:0)
很明显(顺便说一下,如果你想显示数组的内容,你就犯了一个错误):
public static String arrayToString (int[] a) {
String result = "";
for (int v = 0; v < a.length; v++) {
result += a[v] + " ";
}
return result;
}
答案 6 :(得分:0)
我不认为将foreach循环写为循环的“正常”将是解释此问题的最佳方法。实际上变化很容易:foreach将遍历数组a,每次都将数组中的下一个值分配给int v。所以在第一次迭代中,int v将是[0],在第二次迭代它将会是[1]等,直到a中没有更多的字段,然后停止。
当你需要对集合中的所有内容做某事时,Foreach很有用,而不需要明确的计数器。如果需要计数,则需要使用正常的for循环。