-1

谁能向我解释这段代码?

class className {
    int[] coeffs;

    int count(int value) {
        int count = 0;
        for (int coeff: coeffs)
            if (coeff == value)
                count++;
        return count;
    }
}

我真正不明白的是这部分:

for (int coeff: coeffs)

这是什么意思?感谢帮助。

4

4 回答 4

1

那就是增强了每个循环遍历数组int[]数组。

查看Oracle 文档

于 2013-07-19T19:05:28.417 回答
1

这是一个 foreach 循环——这意味着对于数组中的每个值,coeffs都会执行 for 循环内的代码,变量coeff表示在该特定迭代期间使用的值。

于 2013-07-19T19:05:47.447 回答
1

在 Java 的早期版本中,只有 C/Fortran 风格的“for()”循环。

Java 5 (JDK 1.5, 2004) 引入了“foreach()”循环,其语法如下:

http://en.wikipedia.org/wiki/Foreach_loop#Java

for (type item: iterableCollection) {
  // do something to item
}

值得注意的是,虽然较新的“foreach”语法可能更“优雅”,但“旧”的 for 循环索引实际上可以更快:

于 2013-07-19T19:07:43.207 回答
0

这是一个增强的 for 循环。它的结构如下:

for(Object o: collection)

基本上,objects它是一个对象数组或原始数组,或者是一个 Iterable 对象。

Java 将遍历数组或 Iterable,设置o为检索到的对象/值,然后处理块。它允许快速迭代而无需处理您自己的迭代器/

于 2013-07-19T19:05:36.430 回答