`
javaliujie
  • 浏览: 59445 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

不一样的for写法-体验J2SE 1.5新特性之增强For循环

    博客分类:
  • JAVA
阅读更多
第一种for循环

对于遍历数组,这个循环一般是采取这样的写法:

  清单1:遍历数组的传统方式
Java代码
  1. /* 建立一个数组 */  
  2. int[] integers = {1234};   
  3. /* 开始遍历 */  
  4. for (int j = 0; j < integers.length; j++) {   
  5. int i = integers[j];   
  6. System.out.println(i);   
  7. }  
/* 建立一个数组 */
int[] integers = {1, 2, 3, 4};
/* 开始遍历 */
for (int j = 0; j < integers.length; j++) {
int i = integers[j];
System.out.println(i);
}


  而对于遍历Collection对象,这个循环则通常是采用这样的形式:

  清单2:遍历Collection对象的传统方式
Java代码
  1. /* 建立一个Collection */  
  2. String[] strings = {"A""B""C""D"};   
  3. Collection stringList = java.util.Arrays.asList(strings);   
  4. /* 开始遍历 */  
  5. for (Iterator itr = stringList.iterator(); itr.hasNext();) {   
  6. Object str = itr.next();   
  7. System.out.println(str);   
  8. }  
/* 建立一个Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 开始遍历 */
for (Iterator itr = stringList.iterator(); itr.hasNext();) {
Object str = itr.next();
System.out.println(str);
}


  而在Java语言的最新版本——J2SE 1.5中,引入了另一种形式的for循环。借助这种形式的for循环,现在可以用一种更简单地方式来进行遍历的工作。

第二种for循环

  不严格的说,Java的第二种for循环基本是这样的格式:

  for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体

  借助这种语法,遍历一个数组的操作就可以采取这样的写法:

  清单3:遍历数组的简单方式
Java代码
  1. /* 建立一个数组 */  
  2. int[] integers = {1234};   
  3. /* 开始遍历 */  
  4. for (int i : integers) {   
  5. System.out.println(i);/* 依次输出“1”、“2”、“3”、“4” */  
  6. }  
/* 建立一个数组 */
int[] integers = {1, 2, 3, 4};
/* 开始遍历 */
for (int i : integers) {
System.out.println(i);/* 依次输出“1”、“2”、“3”、“4” */
}


  这里所用的for循环,会在编译期间被看成是这样的形式:

  清单4:遍历数组的简单方式的等价代码
Java代码
  1. /* 建立一个数组 */  
  2. int[] integers = {1234};   
  3. /* 开始遍历 */  
  4. for (int 变量名甲 = 0; 变量名甲 < integers.length; 变量名甲++) {   
  5. System.out.println(变量名甲);/* 依次输出“1”、“2”、“3”、“4” */  
  6. }  
/* 建立一个数组 */
int[] integers = {1, 2, 3, 4};
/* 开始遍历 */
for (int 变量名甲 = 0; 变量名甲 < integers.length; 变量名甲++) {
System.out.println(变量名甲);/* 依次输出“1”、“2”、“3”、“4” */
}


  这里的“变量名甲”是一个由编译器自动生成的不会造成混乱的名字。

  而遍历一个Collection的操作也就可以采用这样的写法:

  清单5:遍历Collection的简单方式
Java代码
  1. /* 建立一个Collection */  
  2. String[] strings = {"A""B""C""D"};   
  3. Collection list = java.util.Arrays.asList(strings);   
  4. /* 开始遍历 */  
  5. for (Object str : list) {   
  6. System.out.println(str);/* 依次输出“A”、“B”、“C”、“D” */  
  7. }  
/* 建立一个Collection */
String[] strings = {"A", "B", "C", "D"};
Collection list = java.util.Arrays.asList(strings);
/* 开始遍历 */
for (Object str : list) {
System.out.println(str);/* 依次输出“A”、“B”、“C”、“D” */
}


  这里所用的for循环,则会在编译期间被看成是这样的形式:

  清单6:遍历Collection的简单方式的等价代码
Java代码
  1. /* 建立一个Collection */  
  2. String[] strings = {"A""B""C""D"};   
  3. Collection stringList = java.util.Arrays.asList(strings);   
  4. /* 开始遍历 */  
  5. for (Iterator 变量名乙 = list.iterator(); 变量名乙.hasNext();) {   
  6. System.out.println(变量名乙.next());/* 依次输出“A”、“B”、“C”、“D” */  
  7. }   
/* 建立一个Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 开始遍历 */
for (Iterator 变量名乙 = list.iterator(); 变量名乙.hasNext();) {
System.out.println(变量名乙.next());/* 依次输出“A”、“B”、“C”、“D” */
} 


  这里的“变量名乙”也是一个由编译器自动生成的不会造成混乱的名字。

  因为在编译期间,J2SE 1.5的编译器会把这种形式的for循环,看成是对应的传统形式,所以不必担心出现性能方面的问题。
分享到:
评论

相关推荐

    j2se1.5中文api

    Java 2 Platform, Standard Edition (J2SE) 1.5,也被称为Java SE 5.0,是Java编程语言的一个重要版本,它引入了大量的新特性和改进,对Java开发者来说具有里程碑式的意义。J2SE 1.5中文API为中国的开发者提供了方便...

    Collections & Generics in J2SE 1.5

    5. **增强的for循环**:使用增强的for循环可以直接遍历集合中的元素,而无需显式地进行类型转换。 ```java for (String s : list) { System.out.println(s); } ``` 6. **自动装箱与拆箱**:为了简化基本数据...

    J2SE 1.5帮助文档

    J2SE帮助文档英文版。包含java库函数的说明用法等。

    J2SE 1.3,1.4,1.5,1.6,1.7,1.8 API.zip

    3. J2SE 1.5 (Java 5.0) API: 重大更新,引入了泛型、枚举类型、可变参数、自动装箱与拆箱、增强的for循环(foreach)、注解(Annotation)等新特性。还引入了类型安全的集合接口,如List,Set和Map, V&gt;,提高了代码...

    commons-dbutils-1.5

    6. **兼容性**: "commons-dbutils-1.5"版本适用于Java 2平台标准版(J2SE)1.3及以上版本,因此它与较旧的Java环境也具有良好的兼容性。 在实际开发中,使用DBUtils可以显著提升代码的可读性和可维护性,减少因为...

    J2SE 1.5版本的新特性一览

     到了2003的年末,J2SE1.5的beta版本就将发布了。这次发布和现在已经发布的J2SE1.4的两个更新1.4.1和1.4.2都如2003年的JavaOne大会预期的发布。如果你没有参加这次大会,或者想重新回顾一下,那么下面就是这次大会...

    坦克大战----j2se

    《坦克大战——基于J2SE的编程实践》 在计算机编程的世界中,Java是一门广泛使用的面向对象的编程语言,而J2SE(Java 2 Platform, Standard Edition)是其标准版,为桌面应用程序提供了丰富的功能。本项目“坦克...

    Java-J2se、J2ee开发全程视频教程和源码(87集)

    资源名称:Java-J2se、J2ee开发全程视频教程和源码(87集)资源目录:【】Java-J2se-J2ee全程教程(01-10)【】Java-J2se-J2ee全程教程(11-20)【】Java-J2se-J2ee全程教程(21-30)【】Java-J2se-J2ee全程教程(31...

    java for循环的几种写法

    在 J2SE 1.5 中,Java 引入了一种新的 for 循环语法,称为“增强的 for 循环”或“foreach 循环”,它提供了一种更简单的方式来遍历数组和 Collection 对象。 传统的 for 循环 在遍历数组时,传统的 for 循环通常...

    Java-J2SE学习笔记

    Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记

    J2SE for Loop循环 增强for循环

    J2SE for Loop循环 增强for循环 Enhanced for Loop 更简单的进行遍历

    java 小笔记--对于J2SE的重点一个具体总结

    泛型是Java 5引入的新特性,它极大地提高了代码的类型安全性和可读性。 一、泛型的理解与应用 1. 泛型的基本概念 泛型是Java中用于处理多种数据类型的一种机制,它允许在编译时检查类型安全性,避免了运行时的...

    J2SE 5.0新特性精解

    J2SE 5.0通过引入诸如泛型、增强的for循环、自动装箱/拆箱等新特性,极大地减少了开发者的编码量,提升了代码的可读性和维护性。 #### 2.2 增强的错误检验存储 通过编译时的类型检查,泛型机制避免了运行时的...

    j2se API 1.5 文档

    j2se API 1.5 文档

    java课程设计大作业-用J2SE写的一个坦克大战小游戏

    java课程设计大作业——用J2SE写的一个坦克大战小游戏java课程设计大作业——用J2SE写的一个坦克大战小游戏java课程设计大作业——用J2SE写的一个坦克大战小游戏java课程设计大作业——用J2SE写的一个坦克大战小游戏...

    java培训系列教程--j2se基础篇

    第二个视频。其他视频敬请期待。

    jaxmpp-j2se-3.0.0.jar(XMPP/Tigase开发,java代码类型客户端使用的jar包)

    jaxmpp-j2se-3.0.0.jar(XMPP/Tigase开发,java代码类型客户端使用的jar包) 需要的朋友自己下载,一个朋友让我帮他找的,就顺便发出来给更多需要的朋友吧

    ee.j2se-1.5.0.jar

    jar包,官方版本,自测可用

    java学习总结-j2se Java学习资料

    java学习总结1 -- j2se 项目环境: jdk8 字符集:UTF-8 开发工具:Eclipse 包括内容: basic 基本语法 oop 面向对象 api 常用api及工具类 javadoc javaDoc的使用 debug 代码调试方法 datastructure 基本数据结构 ...

Global site tag (gtag.js) - Google Analytics