JavaSE基础 (七)

多维数组

数组的特点

数组本身是一个引用类型
声明时必须指定长度  长度一旦确定就不能再次发生改变

定义/声明

里面存储的类型[] 数组名字;
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 ;//空元素再来用