数组:
*数组中的每个数据叫做元素
*数组可以存储任意的数据类型,但是每个数组只能存储同一数据类型
*数组的长度是固定的
*创建数组会有默认值 int类型的默认值是 0,String类型的是 null
定义格式:
数据类型[] 数组名 = {元素1,元素2,元素3}; 3个元素.索引是 0到2
数据类型[] 数组名 = new 数据类型[元素个数];
多维数组定义格式
int[][] arr = new int[3][4]; 二维数组的长度为3,每个二维数组中的元素有是一个长度为4的数组
int[][] arr = new int[3][];
int[][] arr = {{1,2},{1,2,3},{3,4,5}}; 3个元素
方法:
赋值 数组名[索引] = 元素;
获取数组值 数组名[索引];
属性 获取数组长度 数组名.length; 注意不加括号
将集合以字符串输出 Arrays.toString(集合名);
数组的遍历:
正向遍历 for循环
逆向遍历 for循环 注意初始化表达式与步进表达式的取值范围,不然容易索引越界
双层for循环 外层for循环决定列数,内层for循环决定行数
多维数组遍历 也是双层for循环
增强for也可以 foreach
数组内元素的大小比较
将数组内的元素从小到大排列: Arrays.sort(数组名); 数组按数字升序进行排序
将数组内的元素从大到小排列:首先用Arrays.sort(数组名);将数组正序排列;然后倒着遍历就OK
求数组中元素的最大值;
求数组中元素的最小值;
动态初始化与静态初始化
动态初始化:定义数组时,由系统直接为数组赋值 例 int[] arr ={1,2,3}
静态初始化:自己为数组赋值
数组索引越界异常 当数组中不存在该索引却访问该索引时
空指针异常 int[] arr = null;