Java_增强for循环
来源:互联网 发布:淘宝天猫怎么开店 编辑:程序博客网 时间:2024/06/06 03:25
一. 增强for循环的介绍
JDK1.5中增加了增强的for循环。
缺点:
除了简单遍历并读取其中的内容外,不建议使用增强的for循环。
增强for循环的参数介绍:
//增强for循环public class ForArray{ public static void main(String[] args) { int[] arr = {1,2,3,4,5,6,7}; for(int a:arr) { System.out.print(a); } }}/* for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体 例子中, 1.arr就是为 要被遍历的对象,可以是数组,集合 2.循环变量类型就是这个arr数组的数据类型,即int 3.循环变量名称就是a,这个可以自己定义*/
二. 增强for循环的应用
<strong>遍历数组</strong>语法为:for (Type value : array) { expression value;}//以前我们这样写:void someFunction (){ int[] array = {1,2,5,8,9}; int total = 0; for (int i = 0; i < array.length; i++) { total += array[i]; } System.out.println(total); }//现在我们只需这样写(和以上写法是等价的):void someFunction (){ int[] array = {1,2,5,8,9}; int total = 0; for (int n : array) { total += n; } System.out.println(total);}这种写法的缺点: 显而易见,for/in(for each)循环自动控制一次遍历数组中的每一个元素,然后将它赋值给一个临时变量(如上述代码中的int n),然后在循环体中可直接对此临时变量进行操作。这种循环的缺点是: 1. 只能顺次遍历所有元素,无法实现较为复杂的循环,如在某些条件下需要后退到之前遍历过的某个元素; 2. 循环变量(i)不可见,如果想知道当前遍历到数组的第几个元素,只能这样写: int i = 0; for (int n : array) { System.out.println("This " + i + "-th element in the array is " + n); i++;}<strong>遍历集合</strong> 语法为: for (Type value : Iterable) { expression value;}注意:for/in循环遍历的集合必须是实现Iterable接口的。 //以前我们这样写:void someFunction (){ List list = new ArrayList(); list.add("Hello "); list.add("Java "); list.add("World!"); String s = ""; for (Iterator iter = list.iterator(); iter.hasNext();) { String temp= (String) iter.next(); s += temp; } System.out.println(s); }//现在我们这样写:void someFunction (){ List list = new ArrayList(); list.add("Hello "); list.add("Java "); list.add("World!"); String s = ""; for (Object o : list) { String temp = (String) o; s += temp; } System.out.println(s);}// 如果结合“泛型”,那么写法会更简单,如下: void someFunction (){ List list = new ArrayList(); list.add("Hello "); list.add("Java "); list.add("World!"); String s = ""; for (String temp : list) { s += temp; //省去了对强制类型转换步骤 } System.out.println(s);}//上述代码会被编译器转化为: void someFunction (){ List list = new ArrayList(); list.add("Hello "); list.add("Java "); list.add("World!"); String s = ""; for (Iterator iter = list.iterator(); iter.hasNext(); ) { String temp = iter.next(); s += temp; } System.out.println(s); }这种写法的缺点: 虽然对集合进行的for/in操作会被编译器转化为Iterator操作,但是使用for/in时,Iterator是不可见的,所以如果需要调用Iterator.remove()方法,或其他一些操作,for/in循环就有些力不从心了。 综上所述,Java 5.0中提供的增强的for循环——for/in(for each)循环能让我们的代码更加简洁,让程序员使用时更加方便,但是也有它的局限性,所以一定要根据实际需要有选择性地使用,不要盲目追求所谓的“新特性”。
1 0
- Java_增强for循环
- Java_容器_Collection_增强for循环
- java_增强for循环注意的几点
- Java_高级for循环
- java_高级for循环
- Java_乔晓松_Java SE 加强-静态导入_自动装拆箱_增强for循环_枚举
- 增强的for循环
- 增强for循环
- 增强for循环
- JAVA增强for循环
- 7.3 增强for循环
- 04.for循环增强
- 增强的for循环
- 增强for循环
- java 增强 for循环
- 增强for循环
- 增强for循环
- 增强for循环用法
- Core Java 笔记(三) - 反射
- iOS 中^block 示例
- 如何辨别美国私立高中优劣程度
- 【犀利评】看完你能乐得多吃一碗饭
- ns3为协议默认安装的loopback接口
- Java_增强for循环
- 问题解决: @Resource annotation is not supported on static fields
- SQL之正则表达式
- 认识.NET
- NDK编译X265库到ARM,遇到问题
- 替换字符串String中的元素和分割字符串为数组
- Python中的base64、base32实例
- 云计算容器服务该何去何从
- android studio 目录结构