Java二维数组的学习

一、二维数组的定义

1、第一种方式

    数据类型[ ][ ] 数组名 = new 数据类型[m][n] ;

        m:代表当前二维数组中有多少个一维数组

        n:代表每一个一维数组中的长度

        如:int [ ][ ] arr = new int [3][2];

    或:数据类型[ ]  数组名[ ] = new 数据类型[m][n];

        (int [ ] arr[ ] = new int [3] [2];)

    或:数据类型 数组名[ ][ ] = new 数据类型[m][n] ;

        (int arr[ ][ ] = new int [3] [2];)

2、第二种方式

    数据类型[][] 数组名 = new 数据类型[m][] ;

        m:一维数组的个数,其中每一个一维数组长度动态给定

        如:int[ ][ ] arr = new int[3][ ] ;

               arr[0] = new int[2] ;
       arr[1] = new int[3] ;

       arr[2] = new int[2] ;

3、第三种方式(静态初始化)

    数据类型[ ][ ] 数组名称 = {{元素1,元素2,···},{....}} ;

        如:int[ ][ ] arr = {{1,2,3},{4,5},{6}} ;

        此时定义了一个二维数组arr,该二维数组包含了三个一维数组,arr[0]包含3个元素,arr[1]包含2个元素,arr[2]包含1个元素,若输出System.out.println(arr[2][1]);编译能通过但运行时会抛出异常ArrayIndexOutOfBoundsException(数组角标越界异常),因为此时arr[2]只包含1个元素。

二、二维数组的遍历

    以一个具体的代码为例:

public class ArrayTest {
	
	public static void main(String[] args) {
		//定义一个二维数组,静态初始化
		int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
		
		//通过嵌套循环,外层循环遍历二维数组的长度(即一维数组的个数),内层循环遍历每个一维数组的元素个数
		for(int x = 0 ; x < arr.length ; x ++) {
			for(int y = 0 ; y < arr[x].length; y++) {
				System.out.print(arr[x][y]+" ");
			}
		}
		System.out.println("----------------------------");
		
		//最终版代码:定义一个遍历二维数组的功能
		printArray2(arr);
	}
	
	/**
	 * 两个明确:
	 * 	1)明确返回值类型:void
	 * 	2)明确参数类型:int[][] arr
	 */
	public static void printArray2(int[][] arr) {
		for(int x = 0 ; x < arr.length ; x ++) {
			for(int y = 0 ; y < arr[x].length ; y++) {
				System.err.print(arr[x][y]+" ");
			}
		}
	}
}
二维数组的遍历首先遍历二维数组的长度(arr.length),也就是一维数组的个数,其次遍历每个一维数组的每一个元素(arr[i].length),在这里一定要搞清楚。
阅读更多
文章标签: Java
上一篇Java文档说明书的制作
下一篇Java中代码块的学习
想对作者说点什么? 我来说一句

java二维数组倒置实例

2010年05月12日 2KB 下载

二维数组转json的java源码

2015年10月12日 662B 下载

java二维数组删除一行

2013年11月22日 3KB 下载

java二维数组删除特定行代码

2014年01月16日 2KB 下载

java动态二维数组的实现

2013年04月06日 6KB 下载

java 二维数组的创建与使用

2010年06月18日 59KB 下载

java 二维数组

2015年12月06日 16KB 下载

java作品,字符串

2014年06月05日 59KB 下载

没有更多推荐了,返回首页

关闭
关闭