1.数组的定义:
元素的类型[]变量名; 可以存储一组数据
int[] ages; 此时:可以把int[]看做是一种数据类型,int的数组类型.
此时代表含义:ages数组中可以存放多个int类型的值/变量.
定义的另外一种方式:
元素的类型 变量名 [];
int ages[]; 非常不推荐
2.数组的初始化操作:开辟内存空间,存储数据.
数组必须先初始化才能使用.
当数组初始化之后,数组的长度就已经确定了,不能更改.
静态初始化:
程序员自己设置需要存储的数据(元素),而数组的长度由系统决定.
语法:
元素类型[]数组名称 = new 元素类型[]{元素1,元素2,元素3,....};
如:
int[]nums = new int[]{1,3,5,7,9};
更简单的语法:
int[] nums = {1,3,5,7,9};
动态初始化:
程序员指定数组的长度,而数组的元素的默认值由系统决定.
语法:
元素类型[]数组名称 = new 元素类型[length];
如:
int[]nums = new int[5];
如果事先知道需要存储哪些数据,---->使用静态初始化.
若事先不知道存储哪些数据--------->动态初始化.
3.数组的基本操作
0):打印数组对象,会打印出数组的hashCode值,看不出来数组元素值.
1):获取/设置/遍历元素元素:
获取数组元素值: 数组元素类型 变量 = 数组名[index];
设置数组元素值: 数组名[index] = 值;
迭代数组元素: 使用循环,一般的,首选for循环.
2):数组的长度(使用length属性):
int len = 数组名.length;//获取当前数组有几个元素个数
3):数组的索引从0开始,逐一递增.
数组索引的范围:[0,数组长度-1]
4):操作数组常见异常(错误):
ArrayIndexOutOfBoundsException:数组的索引越界,不在索引范围之内.
NullPointerException:空引用异常,操作了一个为null的数组变量.
5):获取数组最大最小元素
求最大值: getMax
求最小值: getMin
6):打印数组元素:
期望:打印格式:[A,B, C, D, E]
7):逆序排列数组元素:
[A, B, C, D, E]--->[E, D, C, B, A]
8):元素出现索引(第一次/最后一次)