Java foreach语句的用法

Java foreach语句用法使用

  • 如何使用Java1.5出现的foreach语句
    • foreach语句
    • for循环
  • foreach语句的使用注意事项

如何使用Java1.5出现的foreach语句

foreach在遍历数组、集合方面,foreach 为开发者提供了极大的方便。foreach 循环语句是 for 语句的特殊简化版本,主要用于执行遍历功能的循环。

foreach语句

foreach 循环语句的语法格式如下:

for(数据类型 变量名:数组) {
    需要执行的语句块;
}
举一个简单的例子:
 int[] numbers = {45,65,21,31,12};
System.out.println("利用for——each语句打印数组的内容");
// for-each语句
for (int abc : numbers) {
    System.out.println("数组中的内容为" + abc);
}

简单解释一下如何快速上手使用这个语句:数据类型(即你需要打印的集合(数组)元素类型),变量名(按你自己的喜好取就可以了),数组(即你需要打印的数组名)。在循环体执行的过程中,每循环一次,会将numbers 数组中的一个元素赋值给 adc变量,直到遍历 numbers 数组中所有元素,循环终止。
我们来看看上面的代码运行的结果:

Java foreach语句的用法_第1张图片

for循环

如果我们不使用for—each语句的话,我们写的代码会比较麻烦,当然这也是Java这门语言的特色之一,提供给我们很多非常便利的方法,我们来看看普通代码是怎样的:

public class text {
    public static void main(String[] args) {
    int [] numbers={45,65,21,31,12};
    for(int i =0;i<numbers.length;i++){
        System.out.println(numbers[i]);
    }

    }

}

通过上诉代码的对比我们可以知道:foreach 循环和普通循环不同的是,它无须循环条件,无须循环迭代语句,这些部分都由系统来完成,foreach 循环自动迭代数组的每个元素,当每个元素都被迭代一次后,foreach 循环自动结束。并且 foreach 循环遍历数组元素时无须获得数组长度,也无须根据索引来访问数组元素。

foreach语句的使用注意事项

对于很多初学foreach语句的人来说就开始有疑问了,既然我能够遍历整个数组,那么我是不是也可以利用foreach语句对数组进行赋值呢?
下面我们来尝试一下:

        int[] numbers = {45,65,21,31,12};
        System.out.println("利用for——each语句打印数组的内容");
// for-each语句
        for (int abc : numbers) {
          abc=58;
            System.out.println("数组中的内容为" + abc);
        }
        System.out.println(numbers[0]);

结果如下:
Java foreach语句的用法_第2张图片
其实我们不难从上面的代码运行结果看出来:当使用 foreach 来迭代访问数组元素时,foreach 中的循环变量相当于一个临时变量,系统会把数组元素依次赋给这个临时变量,然后再一个一个的打印出来,而这个临时变量并不是数组元素,它只是保存了数组元素的值。因此,如果希望改变数组元素的值,则不能使用这种 foreach 循环。
所以在使用 foreach 循环迭代数组元素时,并不能改变数组元素的值,因此不要对 foreach 的循环变量进行赋值。

你可能感兴趣的:(java,ruby,java,scala)