Java的foreach循环详解
⽂章⽬录
1.for each 循环概述
Java中有⼀种很强的循环结构,可以⽤来处理依次数组(或其他元素集合)中的每⼀个元素,⽽不必考虑指定下标值。
它的格式为:
for(变量:集合);
它定义了⼀个变量⽤于暂存集合中的每⼀个元素,并执⾏相应的语句或语句块。接下来,我们⽤它处理⼀维数组和⼆维数组。
2.for each 循环处理⼀维数组
int[] data =new int[10];
for(int i =0; i < data.length; i++)
data[i]= i +1;
for(int m_data : data)
System.out.printf("%d\t", m_data +10);
输出:
11121314151617181920
上⾯代码中,我们声明并初始化了⼀个数组data,接下来给它赋初值从1到10,⽤for each 循环给每个元素分别加10后打印输出。3.for each 循环处理⼆维数组
int[][] data =new int[10][5];
for(int i =0; i < data.length; i++){
for(int j =0; j < data[0].length; j++){
data[i][j]= i * j;
}
}
for(int[] data1 : data){
for(int data2 : data1)
System.out.printf("%d\t", data2);
java定义一维数组并赋值System.out.println();
}
输出:
00000
01234
02468
036912
0481216
05101520
06121824
07142128
08162432
09182736
上⾯代码中声明了⼀个10⾏5列的⼆维数组,并⽤嵌套的普通for循环赋了初值,之后⽤嵌套的for each 循环打印输出。这⾥着重说⼀下那两个for each循环。由上⽂我们已经知道for each 循环中的冒号前⾯的那个变量暂存集合中的每⼀个元素,所以第⼀个for each 循环声明了⼀个⼀维数组的变量data1,⽤于暂存⼆维数组中的每⼀个⼀维数组(⼆维数组是由若⼲个⼀位数组做成的,⼀维数组的个数取决于⼆维数组的⾏数)。第⼆个for each循环定义了整型变量data2来暂存第⼀个for each 循环中声明的⼀维数组中的元素。最后将⼀维数组中的元素打印输出,如此循环,将⼆维数组中的所有元素打印输出。
4.总结
for each 循环让我们不⽤去关系数组或集合的内部,从⽽避免越界的问题,也使得程序更加简洁。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论