【JavaSE笔记】Java常见细节性问题(三)_二维数组

二维数组
就是元素为一维数组的一个数组

1. 格式_1:

a. 数据类型 [ ] [ ] 数组名 = new 数据类型 [m][n];
m:表示这个二维数组有多少个一维数组
n :表示每一个一维数组的元素有多少个
b. 注意:
i. 其他格式:
1) 数据类型 数组名 [] []=new 数据类型[m][n]
2) 数据类型[] 数组名[] =new 数据类型[m][n]
ii. 不同定义的区别:
int x;
int y;
int x,y;

int [ ] x;
int [ ] y[ ];

int [ ]x,y[ ];

2. 格式_2:

a. 数据类型 [ ] [ ] 数组名 = new 数据类型 [m][ ];
m:表示这个二维数组有多少个一维数组
列的个数未给出,可以动态赋值。
例:

public static void main(String[] args) {
//定义数组
int[][] a = new int[3][];

System.out.println(a);	//[[I@175078b
System.out.println(a[0]); //null
System.out.println(a[1]); //null
System.out.println(a[2]); //null

//动态的为每一个一维数组分配空间
a[0] = new int[1];
a[1] = new int[2];
a[2] = new int[3];

System.out.println(arr[0]); //[I@42552c
System.out.println(arr[1]); //[I@e5bbd6
System.out.println(arr[2]); //[I@8ee016

System.out.println(arr[0][0]); //0
System.out.println(arr[0][1]); //0
//ArrayIndexOutOfBoundsException
//System.out.println(arr[0][2]); //错误

arr[1][0] = 100;
arr[1][2] = 200;
}

3. 格式_3:静态初始化

a. 基本格式:
数据类型 [ ] [ ] 数组名 = new 数据类型 [ ] [ ] {{元素1,元素2,…},{元素1,元素2,…},{……}};
数据类型 [ ] [ ] 数组名 = {{元素1,元素2,…},{元素1,元素2,…},{……}};
例:
public static void main(String[] args) {
//定义一个二维数组:静态初始化
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}} ;

System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);

System.out.println(arr[0][0]);//1
System.out.println(arr[1][0]); //4
System.out.println(arr[2][0]);//7
}


4. 内存图解:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值