有人可以向我解释这段代码吗?
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)
是什么意思?谢谢你的帮助。
答案 0 :(得分:1)
这是针对循环遍历数组int[]
数组的每个循环的增强。
答案 1 :(得分:1)
这是一个foreach循环 - 它意味着对于数组coeffs
中的每个值,将执行for循环中的代码,变量coeff
表示在该特定迭代期间使用的值。
答案 2 :(得分: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循环索引实际上可以更快:
答案 3 :(得分:0)
这是一个增强的for循环。其结构如下:
for(Object o: collection)
基本上,objects
是一个对象或基元数组,或者是一个Irablerable对象。
Java将迭代数组或Iterable,将o
设置为检索到的对象/值,并处理该块。它允许快速迭代而无需处理自己的迭代器/