Java二维数组

二维数组:
概念:二维数组的元素就是一个一维数组,以及一维数组对用的长度
常见定义形式:
int x ,y ;
int[] x , y ;x是一个一维数组,y是一个一维数组
int[] x , y[] ;x是一个一维数组,y是一个二维数组
int[][] x ; x是一个二维数组
定义格式1:
动态初始化
数据类型[][] 数组名称 = new 数据类型[m][n] ; (推荐第一种)
数据类型 数组名称[][] = new 数据类型[m][n] ;
举例:
int[][] arr = new int[3][2] ;
等号左边:
int:表示一个int类型
[][]:表示定义二维数组
arr :数组名称
等号右边:
new :在堆内存中创建对象
int :创建int类型数组
[3] :表示当前二维数组中有3个一维数组
[2] :这三个一维数组中每一个都有2个元素

class Array2Demo{
	public static void main(String[] args){
		//定义一个二维数组,并且动态初始化
		int[][] arr = new int[3][2] ;
		System.out.println(arr) ;//[[I@十六进制数据		[[I@6d06d69c
		//存在3个一维数组		系统默认初始化:null
		//第一个一维数组
		System.out.println(arr[0]) ; //[I@7852e922
		System.out.println(arr[1]) ;//[I@4e25154f
		System.out.println(arr[2]) ;//[I@70dea4e
		//访问二维数组中第一个一维数组的第一个元素
		System.out.println(arr[0][0]) ;//0
		//赋值
		arr[0][0] = 10 ;
		arr[0][1] = 20 ;
		arr[2][1] = 30 ;
		System.out.println(arr[0][0]) ;//10
		System.out.println(arr[0][1]) ;//20
		System.out.println(arr[1][0]) ;//0
		System.out.println(arr[1][1]) ;//0
		System.out.println(arr[2][0]) ;//0
		System.out.println(arr[2][1]) ;//30
		}
}   

定义格式2:*
int arr[][]=new int[3][];
arr[0]=new int[2];
当前二维数组中有m个一维数组,但是没有给定每一个一维数组的长度,长度可以动态给定!

 class Array2Demo2{
	public static void main(String[] args){
		//格式2:定义二维数组
		int[][] arr = new int[3][] ;
		System.out.println(arr); //[[I@6d06d69c
		//访问每一个一维数组的数组名称:arr[0],arr[1],arr[2]
		System.out.println(arr[0]) ;//null
		System.out.println(arr[1]) ;//null
		System.out.println(arr[2]) ;//null
		//动态给定一维数组中长度
		arr[0] = new int[2] ;
		arr[1] = new int[3] ;
		arr[2] = new int[1] ;
		System.out.println(arr[0]) ;//[I@7852e922
		System.out.println(arr[1]) ;//[I@4e25154f
		System.out.println(arr[2]) ;//[I@70dea4e
		System.out.println("---------------------") ;
		arr[0][0] = 10 ;
		arr[1][1] = 50 ;
		arr[2][0] = 100 ;
		System.out.println(arr[0][0]) ;
		System.out.println(arr[1][1]) ;
		System.out.println(arr[2][0]) ;
		//System.out.println(arr[2][1]) ;//java.lang.ArrayIndexOutOfBoundsException :数组角标越界异常
	}
}

定义格式3:
int arr[][]={{1,2,3},{4,5,6}};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值