一、数组概述
二、一维数组
// 声明与初始化
// 数组初始化后长度就确定了
// 静态: 数组初始化与数组元素的赋值同时进行
int[] ids = new int[]{1001,1002,1003}
int ids[] = new int[]{1001,1002,1003} //也行
int[] ids = {1,2,3} //也行,类型推断
// 动态:数组初始化与数组元素的赋值分开进行
String[] names = new String[5]
// 调用数组元素
names[0]
// 获取数组长度
names.length
// 遍历数组
for(i=0;i<names.length;i++){
System.out.prinln(names[i])
}
// 数组元素默认初始化值
// 整型:0
// 浮点型:0.0
// char型:0或'\u0000',而非'0'
// boolean型:false(0)
// String等引用类型:null
// 数组的内存解析
//见下图
三、多维数组
// 声明与初始化
int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7}}
int[] arr1[] = new int[][]{{1,2,3},{4,5},{6,7}}//也行
int[][] arr1 = {{1,2,3},{4,5},{6,7}}//也行,类型推断
String[][] arr2 = new String[3][2]
String[][] arr2 = new String[3][] //也行
// 调用数组元素
arr1[0][1]
// 获取数组长度
arr1.length
// 遍历数组
for(i=0;i<arr1.length;i++){
for(j=0;j<arr1[i].length;j++){
arr1[i][j]
}
}
// 数组元素默认初始化值
// arr1[0] 存的是地址值
// 同理,arr1也是地址值
//见下图
// 数组的内存解析
// 见下图
四、数组中常见算法
内容较多,拆分了一下
JAVA数组中常见算法
五、Arrays工具类的使用
// 常用
boolean equals(int[] a, int[] b) // 判断两个数组是否相等
String toString(int[] a) // 输出数组信息
void fill(int[] a, int val) // 将指定值填充到数组之中
void sort(int[] a) // 对数组进行排序
int binarySearch(int[] a, int key) // 对排序后的数组进行二分查找指定的值
// 以排序和输出为例
int[] array1 = new int[]{1,4,-3,5,0}
Arrays.sort(array1)
System.out.println(Arrays.toString(array1))
六、数组中常见异常
// 下标越界
// ArrayIndexOutOfBoundsException
// 空指针异常(三种情况如下)
// NullPointerException
版权声明:本文为weixin_44596902原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。