《On Java 8》读书笔记005_控制流
控制流
1 for-in 语法
Java 5 引入了更为简洁的“增强版 for 循环”语法来操纵数组和集合。(更多细节,可参考 数组 和 集合 章节内容)。大部分文档也称其为 for-each 语法,但因为了不与 Java 8 新添的 forEach() 产生混淆,因此我称之为 for-in 循环。 (Python 已有类似的先例,如:for x in sequence)。注意:你可能会在其他地方看到不同叫法。
for-in 无需你去创建 int 变量和步进来控制循环计数。 下面我们来遍历获取 float 数组中的元素。代码示例:
// control/ForInFloat.java
import java.util.*;
public class ForInFloat {
public static void main(String[] args) {
Random rand = new Random(47);
float[] f = new float[10];
for(int i = 0; i < 10; i++)
f[i] = rand.nextFloat();
for(float x : f)
System.out.println(x);
}
}
0.72711575
0.39982635
0.5309454
0.0534122
0.16020656
0.57799757
0.18847865
0.4170137
0.51660204
0.73734957
上例中我们展示了传统 for 循环的用法。接下来再来看下 for-in 的用法。代码示例:
for(float x : f) {
这条语句定义了一个 float 类型的变量 x,继而将每一个 f 的元素赋值给它。
任何一个返回数组的方法都可以使用 for-in 循环语法来遍历元素。例如 String 类有一个方法 toCharArray(),返回值类型为 char 数组,我们可以很容易地在 for-in 循环中遍历它。代码示例:
// control/ForInString.java
public class ForInString {
public static void main(String[] args) {
for(char c: "An African Swallow".toCharArray())
System.out.print(c + " ");
}
}
A n A f r i c a n S w a l l o w
浙公网安备 33010602011771号