8.10 改进的for循环

考虑到遍历数组的操作极其常见,Java 提供了一种让代码更紧凑的语法。例如,请看下面的 for 循环,它将数组的每个元素都单独显示在一行中:

  1. for (int i = 0; i < values.length; i++) {
  2. System.out.println(values[i]);
  3. }

对于这个循环,我们可将其重写成下面这样:

  1. for (int value : values) {
  2. System.out.println(value);
  3. }

这条语句被称为改进的 for 循环(enhanced for loop),你可将其解读为“对于 values 中的每个值 value”。根据约定,数组变量应使用复数名词,元素变量应使用单数名词。

通过使用改进的 for 循环并删除临时变量,我们可用更简洁的方式编写前一节生成直方图的代码:

  1. int[] counts = new int[100];
  2. for (int score : scores) {
  3. counts[score]++;
  4. }

改进的 for 循环通常可提高代码的可读性,对计算累积值的代码来说尤其如此。但如果需要引用索引(如执行查找操作时),这种 for 循环就并没有太大的用处了。