2015.4.25.13.53_for_2015.4.25_for循环总结

来源:互联网 发布:淘宝pkpm激活码多少钱 编辑:程序博客网 时间:2024/05/22 05:12

for循环语句
1.1 for each循环
1.1.1 一维数组
JavaSE5.0增加了一种功能很强的循环结构,可以用来依次处理数组中的每个元素(其他类型的元素集合亦可)而不必为指定下标值而分心.
这种增强的for循环的语句格式为:
for(variavble:collection) statement
定义一个变量用于暂存集合中的每一个元素,并执行相应的语句(当然,也可以是语句块).collection这一集合表达式必须是一个数组或者是一个实现了Iterable接口的类对象(例如ArrayList).
例如

for(int element : a)    System.out.println();

打印数组a的每一个元素,一个元素占一行.这个循环应该操作”循环a中的每一个元素”(for each element in a). java语言的设计者认为应该使用诸如foreach,in这样的关键字,但这种循环语句并不是最初就包含在Java语言中的,而是后来添加进去德尔,并且没有人打算废除已经包含同名(例如System.in)方法或变量的旧代码.
当然,使用传统的for循环也可以获得同样的效果.

    for(int i=0; i<a.length; i++)        System.out.println(a[i]);

但是,for each循环语句显得更加简洁,更不容易出错(不必为下标的起始值和终止值而操心)

注释:for each 循环语句的循环变量将会遍历数组中的每个元素,而不需要使用下标值.

如果需要处理一个集合中的所有元素,for each循环语句对传统循环语句所进行的改进更是叫人称赞不已.然而,在很多场合下,还是需要使用传统的for循环.例如,如果不希望遍历集合中的每个元素,或者循环内部需要使用下标值.

提示:有个更加简单的方式打印数组中的所有值,即利用Arrays类的toString方法.调用Arrays.toString(a),返回一个包含数组元素的字符串,这些元素被放置在括号内,并且都好分隔,例如 [2,3,5,7,13] .要想打印数组,可以调用
System.out.println(Arrays.toString(a));
1.1.2二维数组
for each循环语句不能自动处理二维数组的每一个元素.它是按照行,也就是一维数组处理的.要想访问二维数组a的所有元素,需要使用两个嵌套的循环,如下所示:

        for(double[] row : a)            for(double value : row)                do something with value
0 0