A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© alax 中级黑马   /  2014-5-19 20:51  /  1042 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

高级for循环的使用规则

2 个回复

倒序浏览


你说的是for-each循环么?
比如通常我们在使用for循环获取数组元素时是比较麻烦的,在新版本的java中就可以使用For-Each循环来进行获取,其相对简单很多。For-Each循环的一般格式如下:

for(数据类型  变量 : 集合)
语句块

在for关键字后面的括号里先是集合的数据类型,接着是一个元素用于进行操作,它代表了当前访问的集合元素,然后是一个冒号,最后是要访问的集合。一般访问一个数组使用格式如下。
  1. int sum = 0;

  2. int[] nums={1,2,3,4,5,6,7,8,9,0};

  3. for(int i=0;i<nums.length;i++)

  4.    sum+=nums[i];
复制代码


这种方式是比较复杂的,如果使用Fo-Each循环来重写该段代码是非常简单的,它的格式如下:
  1. int  sum=0;
  2. int []nums={1,2,3,4,5,6,7,8,9,0};
  3. for(int i  : nums)
  4.      sum+=i;
复制代码

下面是一个完整的示例程序:

  1. public class ForEach
  2. {
  3.    public static void main(String []args){
  4.       int  sum = 0;
  5.       int [] nums = {1,2,3,4,5,6,7,8,9,0};
  6.       for(int i : nums)
  7.      {
  8.           System.out.println("数组元素:"+ i );
  9.           sum += i;
  10.      }
  11.     System.out.println("数组元素和:" + sum);
  12.   }
  13. }
复制代码


另外说明的是,foreach语句并不能完全取代for语句,foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach语句是for语句的特殊简化版本,任何的foreach语句都可以改写为for语句版本,但反之未必。
所以有些for循环是没法写成等效的for each语句的。

回复 使用道具 举报
foreach循环必须明确被遍历的目标,且目标只能是数组或collection集合,一般只对基本遍历简化使用。此外这种写法一般结合泛型使用。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马