Java二维数组的学习

原创 2018年04月16日 19:01:05

一、二维数组的定义

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基础学习第六天——二维数组与面向对象入门

二维数组 二维数组常见初始化格式 二维数组练习 面向对象 面向对象思想 如何更符合面向对象思想 面向对象开发设计特征 类 一个对象的内存图 两个对象的内存图 三个对象的内存图...
  • lutianfeiml
  • lutianfeiml
  • 2016-04-08 13:29:29
  • 1959

java中二维数组(多维数组)的理解认识

最近在一些练习之中遇到了很多关于二维数组的处理,例如二维数组的排序,找最大最小值之类的,所以现在来对二维数组或者可以说对多维数组,来做一个小小的总结。        其实无论是面对二维数组还是多维数...
  • numbstorm
  • numbstorm
  • 2017-08-23 19:33:23
  • 1062

杨辉三角(利用二维数组)

/** 思路: 1、先找规律:第一列上的数全部是1,每一行的最后一个数也是1。 从第三行以后可以看出,从第二列开始,该位置数是前一行前两个数的和。 2、建立两个函数,一个用于计算每个位置上的数,...
  • u012369373
  • u012369373
  • 2016-07-24 21:17:20
  • 358

java 二维数组的创建与使用

  • 2010年06月18日 16:48
  • 59KB
  • 下载

【学习记录】5.二维数组以及数组练习挑战

5.二维数组以及数组练习挑战 1)定义二维数组 int[][] nums = {{2,4,6},{3,5},{7,8,9,10}};         String[][] names = new St...
  • xuanbing0329
  • xuanbing0329
  • 2017-04-03 00:04:30
  • 215

java中二维数组的定义及简单应用

二维数组的定义:   可以简单理解为在数组中又存储了数组    两种初始化形式     格式1: 动态初始化 数据类型 数组名 [ ][ ] = new 数据类型[m][n] 数据类型 [ ...
  • RYJ359
  • RYJ359
  • 2017-07-20 00:05:26
  • 11749

Java--二维数组定义使用

二维数组概述   二维数组格式例子:      int[][] arr = new int[3][2];   二维数组表示格式:      数据类型 数组名[][] = new 数据类型[m][n];...
  • MinggeQingchun
  • MinggeQingchun
  • 2017-02-14 18:55:17
  • 1331

JAVA菜鸟入门篇 - 二维数组(二十五)

多维数组         多维数组中二维数组用的比较多,三维及三维以上的使用很多,下面我就简单罗列下二维数组。        二维数组动态初始化的语法格式:         数据类型[][] 数组名称...
  • promise_LOVE
  • promise_LOVE
  • 2015-01-15 20:44:27
  • 4346

JAVA二维数组动态赋值

日常记录二维数据如何动态赋值 private int[] regionList; private int[][] moduleList; int m = 0; int s...
  • cl1500136770
  • cl1500136770
  • 2017-05-19 09:07:59
  • 2192

java打印二维数组

/* * 功能:java打印出二维数组 * */ package Shuzu; public class duoweishuzu { public static void main(Stri...
  • tingzhiyi
  • tingzhiyi
  • 2016-07-11 14:39:08
  • 2947
收藏助手
不良信息举报
您举报文章:Java二维数组的学习
举报原因:
原因补充:

(最多只允许输入30个字)