数组
作者:互联网
数组
一、一维数组的使用
int[] arr1 = new int[3];
double arr2[] = { 1, 2, 3 };
char arr3[] = new char[] { 'a', 'b', 'c' }; // 不能指明长度
// 遍历数组
for (int i = 0; i < arr3.length; i++) {
System.out.println(arr3[i]);
}
for (double i : arr2) {
System.out.println(i);
}
在java中,变量未经初始化就使用其值会报错,数组会在创建时初始化为默认值。
数组元素类型 | 元素默认初始值 |
---|---|
整数 | 0 |
小数 | 0.0 |
char | 0或'\u0000'(表现为空) |
boolean | false |
引用类型 | null |
二、二维数组的使用
int arr1[][] = new int[][]{{1, 2}, {3, 4, 5}, {6, 7}};
int arr2[][] = new int[3][2];
int arr3[][] = new int[2][];
arr3[0] = new int[2];
arr3[1] = new int[3];
for (int[] i : arr3) {
for (int j : i) {
System.out.println(j);
}
}
三、反转数组
for (int i = 0; i < arr.length / 2; i++) {
String temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
String temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
四、二分查找
int[] array = new int[]{ 1, 3, 7, 19, 33, 41, 56, 72, 81, 99 };
int dest = 0;
int head = 0;
int end = array.length - 1;
boolean flag = true;
while (head <= end) {
int middle = (head + end) / 2;
if (array[middle] == dest) {
System.out.println("找到,下标为:" + middle);
flag = false;
break;
} else if (array[middle] > dest) {
end = middle - 1;
} else {
head = middle + 1;
}
}
if (flag) {
System.out.println("未找到!");
}
五、冒泡排序
int[] arr = new int[]{43,32,76,-98,0,64,33,-21,32,99};
//冒泡排序
for(int i = 0;i < arr.length - 1;i++){
for(int j = 0;j < arr.length - 1 - i;j++){
if(arr[j] > arr[j + 1]){
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
六、Arrays工具类
// 比较两个数组是否相等
boolean result = Arrays.equals(arr1, arr2);
// 填充数组
Arrays.fill(arr3, 10); // 数组所有元素都填充成10
// 将数组转换成字符串
Arrays.toString(arr4);
// 数组排序
Arrays.sort(arr5);
// 二分查找
Arrays.binarySearch(arr6, 8);
标签:arr,int,length,arr3,数组,new 来源: https://www.cnblogs.com/ching-fun/p/16067894.html