数组-二维数组
Posted 犄角旮旯是程序媛吖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组-二维数组相关的知识,希望对你有一定的参考价值。
一、如何理解二维数组
- 数组属于引用数据类型
- 数组的元素也可以是引用数据类型
- 一个一维数组A的元素如果还是一个一维数组类型的,则此数组A称为二维数组
二、二维数组的声明与初始化
正确的方式:
//二维数组的声明和初始化
int[] arr1 = new int[]{1,2,3};//一维
//1.1静态初始化
int[][] arr2 = new int[][]{{1,2},{3,4},{5,6},{7,8}};//二维
//1.2.1动态初始化方式一
String[][] arr3 = new String[2][2];
//1.2.2动态初始化方式二
String[][] arr4 = new String[2][];
三、如何调用二维数组元素
//2.如何调用数组的指定位置的元素
System.out.println(arr2[0][1]);//2
//null-未被赋值,String类型的默认值为null
System.out.println(arr3[0][1]);
arr4[1] = new String[2];
//因为arr4,列还未被赋值,单独打印会空指针异常
System.out.println(arr4[1][0]);
四、二维数组的属性-length
//3.如何获取数组的长度
System.out.println(arr2.length);
System.out.println(arr2[0].length);
五、遍历二维数组元素
//4.如何遍历数组
for(int i = 0;i < arr2.length;i++){
for(int j = 0;j < arr2[i].length;j++){
System.out.print(arr2[i][j] + " ");
}
System.out.println();
}
六、二维数组元素的默认初始化值
//5.数组元素的默认初始化值
/*
规定:二维数组分为外层数组的元素,内层数组的元素
int[][] arr = new int[2][6];
外层元素:arr[0]、arr[1]、arr[2]等
内层元素:arr[0][1]、arr[0][2]等
*/
//初始化方式一:
//数组元素是整型:外层是一个地址值,内层是0
int[][] array = new int[2][2];
System.out.println(array[0]);
System.out.println(array[0][0]);
System.out.println();
//数组元素是布尔型:外层是一个地址值,内层是false
boolean[][] boo = new boolean[2][2];
System.out.println(boo[0]);
System.out.println(boo[0][0]);
System.out.println();
//数组元素是浮点型:外层是一个地址值,内层是0.0
float[][] flo = new float[2][2];
System.out.println(flo[0]);
System.out.println(flo[0][0]);
System.out.println();
//数组元素是char型:
char[][] c = new char[2][2];
System.out.println(c[0]);
System.out.println(c[0][0]);
if(c[0][0] == 0){
System.out.println("√");
}
System.out.println();
//数组元素是引用数据类型:外层是一个地址值,内层是null
String[][] str = new String[2][2];
System.out.println(str[0]);
System.out.println(str[0][0]);
//初始化方式二:
//外层是null,内层不能调用,否则报异常错误
double[][] dou = new double[2][];
System.out.println(dou[0]);
//空指针异常,因为dou[0]为null,再去找它下面元素,是找不到的
System.out.println(dou[0][0]);
七、二维数组的内存结构
以上是关于数组-二维数组的主要内容,如果未能解决你的问题,请参考以下文章