Java的二维数组遍历理解(含冒号)
Java二维数组的理解
import java.util.Arrays;
public class for_test
{
public static void main(String[] args)
{
int [][] arr2 =
{{ 4, 3 },{ 1, 2 } }; // 定义二维数组
for (int[] x : arr2)
{ // 外层循环变量为一维数组
for (int e : x)
{ // 循环遍历每一个数组元素
if (e == x.length)
{ // 判断变量是二维数组中的最后一个元素
System.out.print(e); // 输出二维数组的最后一个元素
} else // 如果`在这里插入代码片`不是二维数组中的最后一个元素
System.out.print(e + "、"); // 输出信息
}
}
}
}
其中for(int[] x :arr2{//}
ps:int[] x和int x[]等价,在java中最好写第一种,能避免歧义;
这句表示
用一个“ 一维数组” 变量“ X ”把“二维数组”变量“arr2”中的数据一组一组的提取出来,在你的示例中,它第一次循环提取 {4,3},第二次提取{1,2},提完第二组数据后就不再提取了,等价于:
for(int i=0; i<arr2.length; i++){
int[]x = arr2[i];
}
for (int e : x) { //循环遍历每一个数组元素}
这句表示用一个 int 类型的变量从一维数组变量 X 中的数据一个一个的提取出来,如当 X={4,3}时,e就依次提取(赋值)出4,3.它等价于:
for(int i=0; i<x.length; i++){
int e=x[i];
}
if (e == **x.length) { //判断变量是二维数组中的最后一个元素}
因为 X 第二次获取数组是{1,2},其 x.length (也就是数组长度)是2,而二维数组最后一个元素值也是2,两者相等,刚好使得该 if 语句成立,这种数据是刻意设计出来的。
摘选链接:**https://zhidao.baidu.com/question/109438750.html?word=java的用冒号遍历二维数组&ms=1&rid=8893857185373861547https://zhidao.baidu.com/question/109438750.html?word=java的用冒号遍历二维数组&ms=1&rid=8893857185373861547