一、概念
1、数组是一个变量,存储相同数据类型的一组数据;声明一个数组就是在内存空间划出一串连续的空间。
2、声明:数组类型 数组名【】或者 数组类型【】 数组名,栈(static)用来存储位置,堆(heap)用来存储内容。
3、初始化:动态初始化(数组的声明创建和赋值分开进行)特点:数组的下标是从0开始的(用下标的方式进行访问),下标可以是整型常量或者整型表达式。
静态初始化(在创建数组的同时为数组元素分配空间并赋值)
4、常见错误:数组越界(数组下标从0开始)
二、对于数组的相关引用
ps:增强性for循环 for(变量类型 变量名:数组){} 注:变量名所代表的就是数组中的元素
shift+enter:将光标由上一行任意位置移到下一行
Ctrl+shift+enter:在上一行另起一行
scanner.nextInt();光标在分号前面Ctrl+1+enter直接创建读取
三、数组的使用
(一)一维数组:
1、一维数组的声明和初始化
2、如何调用数组中指定位置的元素
3、如何获取数组的长度
4、如何遍历数组
5、数组元素的默认初始值
6、数组的内存解析
(二)二维数组:
理解:对于二维数组的理解,我们可以看成是一维数组array1又做为另一个一维数组array2的元素而存在,从数组的底层运行机制来看,没有多维数组。
1、二维数组的声明和初始化
2、如何调用数组中指定位置的元素
3、如何获取数组的长度(只与最外层的数组有关系)
4、如何遍历数组(遍历几维的数组就用几次嵌套的for循环)
5、数组元素的默认初始值
针对于初始化方式一:,比如 int[][] arr = new int[4][5]; 外层元素的初始值为地址值,内层元素的初始化值与一维数组相同
针对于初始化方式一:,比如 int[][] arr = new int[4][]; 外层元素的初始值为null,内层元素的初始化值不能调用,否则报错
6、数组的内存解析(栈、堆):画解析图
注:一维数组:int[] x 或者 int x[]
二维数组:int[][] x 或者 int[] x[] 或者 int x[][]
四、Arrays类工具的使用及异常
1、java.util.Arrays类即为操作数组的工具类,包含了操作数组的各种方法,例如:
2、数组中的常见异常
(1)数组角标越界异常:ArrayIndexOutOfBoundsExcetion
(2)空指针异常:NullPointerExcetion