赞
踩
首先先来说一说这个一维数组元素输出以及遍历的问题:
//定义了一个长度为3的一维数组 int[] arr = {20,30,40}; //如何取出一维数组中的元素,相信大家并不陌生 System.out.println(arr[0]);//取出索引为0的第一个元素 //如何取出每一个元素,则需要遍历 for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } //或者采用增强for的遍历方法 //语法:for (容器中元素的类型 元素的名称:容器名) { System.out.println("元素的名称"); } for(int num:arr) { System.out.println(num); }
了解了一维数组的元素遍历,下面来讲讲二维数组的这类问题,首先看一下二维数组的语法。
二维数组中的元素其实就是由多个一维数组构成的数组。比如我定义了一个长度为三的二维数组,一维数组的长度由每一个一维数组元素决定。当我们在定义二维数组的时候,一维数组从索引0开始存储在二维数组的空间当中;
注意:数组这块索引越界的问题 ArrayIndexOutOfBoundsException 下标越界 以下三个输出语句都是错误的 下标越界
我们所说的数组长度其实是数组中最后一个元素加1
//该二位数组长度为三,但是每一个一维数组的长度是3,4,5 int[][] arr = {{10,20,30},{9,8,7,6},{45,36,12,0,1}}; System.out.println(arr.length);//输出二维数组的长度 结果是 3 //下面逐个输出一维数组的长度 System.out.println(arr[0].length);//索引为0的一维数组的长度是3 System.out.println(arr[1].length);//索引为1的一维数组的长度是4 System.out.println(arr[2].length);//索引为2的一维数组的长度是5 //如果我们要输出一维数组中每一个元素 System.out.println(arr[0]);**//[I@1b6d3586 打印的是地址值 因为前面我们说一维数组是从索引为0开始存储在二维数组当中的,索引当你输出索为0的时候,其实输出的是首地址 通过C语言我们知道数组名称是首地址也就是指针** System.out.println(arr[0][1]);//可以输出来的是索引为0的一维数组的第一个元素 //下面再看一下怎么输出每个一维数组的元素,方法双层循环 //外层循环就是前面说的二维数组存储一维数组的方式 for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) {***//为什么是 j < arr[i].length 因为是一维数组的长度*** System.out.println(arr[i][j]); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。