for(类型 变量名:集合) { 语句块; }其中,“类型”为集合元素的类型,“变量名”表示集合中的每一个元素,“集合”是被遍历的集合对象或数组。每执行一次循环语句,循环变量就读取集合中的一个元素,其执行流程如图 1 所示。
图 1 foreach 循环语句的执行流程图
// 声明并初始化数组 int[] numbers = { 43, 32, 53, 54, 75, 7, 10 }; System.out.println("----for----"); // for语句 for (int i = 0; i < numbers.length; i++) { System.out.println("Count is:" + numbers[i]); }上述第 2 行语句声明并初始化了 7 个元素数组集合,目前大家只需要知道当初始化数组时,要把相同类型的元素放到 {…} 中并且用逗号分隔(,)即可。
// 声明并初始化int数组 int[] numbers = { 43, 32, 53, 54, 75, 7, 10 }; System.out.println("----for each----"); // for-each语句 for (int item : numbers) { System.out.println("Count is:" + item); }从示例中可以发现,item 不是循环变量,它保存了集合中的元素,for-each 语句将集合中的元素一一取出来,并保存到 item 中,这个过程中不需要使用循环变量,通过数组下标访问数组中的元素。可见 for-each 语句在遍历集合的时候要简单方便得多。
String[] urls = { "http://task.lmcjl.com/java", "http://task.lmcjl.com/c", "http://task.lmcjl.com/golang/" }; // 使用foreach循环来遍历数组元素 // 其中book将会自动迭代每个数组元素 for (String url : urls) { System.out.println(url); }从上面程序可以看出,使用 foreach 循环遍历数组元素时无须获得数组长度,也无须根据索引来访问数组元素。
String[] urls = { "http://task.lmcjl.com/java", "http://task.lmcjl.com/c", "http://task.lmcjl.com/golang/" }; // 使用foreach循环来遍历数组元素,其中 book 将会自动迭代每个数组元素 for (String url : urls) { url = "https://task.lmcjl.com"; System.out.println(url); } System.out.println(urls[0]);运行上边程序,将看到如下结果:
https://task.lmcjl.com
https://task.lmcjl.com
https://task.lmcjl.com
https://task.lmcjl.com/java
public static void main(String[] args) { String[] languages={"Java","ASP.NET","Python","C#","PHP"}; System.out.println("现在流行的编程语言有:"); // 使用 foreach 循环语句遍历数组 for(String lang:languages) { System.out.println(lang); } }在循环体执行的过程中,每循环一次,会将 languages 数组中的一个元素赋值给 lang 变量,直到遍历 languages 数组中所有元素,循环终止。
现在流行的编程语言有: Java ASP.NET Python C# PHP
本文链接:http://task.lmcjl.com/news/10139.html