數組創建
//第一種: 創建一個數組,定義長度為10
int[] arr = new int[10];
//第二種:創建一個數組,數組值為10,20
int[] arr = {10,20};
// 當然,還可以這樣
// 這個java當初為了c++程序員能快速適應java而設定的,常用的應該是前面兩種
int arr[] = new int[10];
常用的數組方法
找出數組中最大值,最小值,反轉等
最大、最小值
int[] arr = {28,2,43,12,5,12};
// 遍歷出數組最大值(最小值同理)
// 定義一個變量,然它跟循環出來的對比,如果大,就賦值給它
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i]> max){
max = arr[i];
}
}
System.out.println("數組最大值是:"+ max);
// 數組最大值是:43
數組反轉
int[] array = {12,3,123,432,122,55,9};
for (int i = 0; i < array.length/2; i++) {
int temp = array[i];
//這里為什么要length-1獲取最后一個之后還要-1呢,因為循環i=1時,如果還是將length-1的值
//跟賦值給array[i]的話就不對了,所以要跟着i++ 來 -i,才能剛好循環到i=2 = array.length-1-i才能剛好交換
array[i] = array[array.length -1 -i];
array[array.length -1 -i] = temp;
}
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
//9 55 122 432 123 3 12
}
數組查詢方法,常用的有數組遍歷、二分法查找
數組遍歷
public static void main(String[] args) {
int[] arr = {2,4,4,5,2,5,6,12,8};
//查找元素第一次出現的索引
int index = getIndexByELE(arr, 5);
System.out.println("該元素第一次在數組中出現的下標是:" + index);
//該元素第一次在數組中出現的下標是:3
}
private static int getIndexByELE(int[] arr ,int ele) {
for (int i = 0; i < arr.length; i++) {
if (ele == arr[i]){
return i;
}
}
return -1;
}
二分法查找
public static void main(String[] args) {
// 前提,必須排好序的數組(有序)
int[] arr = {10,20,30,40,50,60,70,80,90};
int index = getIndexByELE(arr, 80);
System.out.println("元素所在索引位置:" + index);
}
private static int getIndexByELE(int[] arr, int ele) {
// 定義最小、最大、中間索引
int minInxex = 0;
int maxInxex = arr.length-1;
int centerIndex = (minInxex+maxInxex)/2;
while (minInxex <= maxInxex){
// 如果要找的這個元素,剛好等於中間元素索引,那么就直接返回中間索引
if (ele == arr[centerIndex]){
return centerIndex;
//如果要找的元素索引大於中間索引,則移動最小索引值 = 中間索引+1
}else if (ele > arr[centerIndex]){
minInxex = centerIndex + 1;
// 如果要找的元素索引小於中間索引,則移動最大索引值 = 中間索引-1
}else if (ele < arr[centerIndex]){
maxInxex = centerIndex - 1;
}
// 代碼執行到這里,說明還沒有找到,需要再次除2,取中間值
centerIndex = (minInxex+maxInxex)/2;
}
return -1;//如果沒有找到,返回-1
}

大家也可以看看視頻講解
https://www.bilibili.com/video/BV1T4411A7Fy?p=6&spm_id_from=pageDriver
