Foreach循环进入for循环

时间:2014-03-14 13:40:12

标签: java for-loop foreach

我不明白以下的foreach循环。有人可以把它写成正常的' for loop,拜托? :)

public static String arrayToString (int[] a) {

    String result = "";

    for (int v : a) {
        result = result + v + " ";
    }

    return result;
}

7 个答案:

答案 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循环。