多维数组
数组的特点
数组本身是一个引用类型
声明时必须指定长度 长度一旦确定就不能再次发生改变
定义/声明
里面存储的类型[] 数组名字;
int[][] arry;
初始化
静态---有长度 有元素
int[][] arry = {{1,2},{1}.{1.2.3}};
动态---只有长度 没有元素(默认值)
int[][] arry = new int[3][2];
arry ----->{{x,x},{x,x},{x,x}} x默认值是0
元素访问
通过元素在数组中的位置----index
array[i][j]
i控制大数组中 小数组的位置
j控制小数组中 元素的位置
遍历轮循
正常for 增强for 嵌套完成
引用类型在内存中的结构
二维数组在内存中的存储,逻辑结构不是矩阵而是树
int[][] arry = new int[3][2];
//3表示有3个小数组int[]
//2表示每一个小数组有两个元素
//NullPointerException 空指针异常
常见的运行时异常
1.InputMisMatchException 输入类型不匹配
input.nextInt(); 如:输入一个a
2.ArrayIndexOutOfBoundsException 数组索引越界
静态初始化 int array[]={10,20};
array[2] //索引超过边界
3.NegativeArraySizeException 数组长度不合法(长度出现负数)
动态初始化 int[] array = new int [-2]
4.NullPointerException 空指针异常
引用为null 还拿来使用就不行啦
int[] arry = null;
arry[0] = 10 ;//空元素再来用