Java数组基本知识笔记
数组
一维数组
数组属于引用数据类型。
申明与初始化
int num; // 声明
num = 10; // 初始化
int id = 10; // 声明+初始化
// 静态初始化:需要赋值
int[] ids = new int[]{1,2,3,4};
// 动态初始化:暂时不需要赋值
String[] names = new String[5];
默认初始化值
- 整型:0
- 浮点型:0.0
- char型:0或’\u0000’(空值)
- boolean型:false
- 引用数据类型:null
数组反转
// 数组反转
String[] arr = new String[]{"AA","BB","CC","DD","EE","FF"};
String temp = "";
/*
// 方法一
for(int i=0;i<arr.length/2;i++){
temp = arr[i];
arr[i] = arr[arr.length-i-1];
arr[arr.length-i-1] = temp;
}*/
// 方法二
for(int i=0,j=arr.length-1; i<j; i++,j--){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
// 遍历
for(int i=0;i<arr.length;i++){
System.out.print(arr[i] + " ");
}
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[][] arr = new int[][]{{1,2,3},{4,5},{6,7,8,9}};
// 动态初始化1
String[][] arr1 = new String[3][2];
// 动态初始化2
String[][] arr2 = new String[3][];
// 此方法也正确(等号前"[]"可随便放)
int[] arr3[] = new int[][]{{1,2,3},{4,2,5,2}};
int[][] arr4 = {{1,2,3},{3,6,7}}; // 类型推断