一.数组的初始化
数组必须变初始化,然后才可以使用。
Java中数组的角标是从0开始的,不能超出索引的范围。
数组的好处:节省创建变量的步骤
1. 数据类型【】数组名
2. 数据类型 数组名【】
动态初始化:先确定数组存放数据的类型和长度
静态初始化:先确定数组的内容,动态的计算出数组的类型和长度
二.数组的排序
1. 冒泡排序
- 排序思路:比较两个相邻的下标对应元素,如果符合条件就交换位置
public static void main(String[] args) {
//创建一个数组
int[] arr = {1,0,2,4,3,5,8,6,7};
for (int i =0;i<arr.length-1;i++){
for (int j=0;j<arr.length-1;j++){
if (arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] =temp;
}
}
}
for (int num:arr){
System.out.println(num+" ");
}
}
2. 选择排序
public static void main(String[] args) {
//创建一个数组
int[] arr = {1,0,2,4,3,5,8,6,7};
for (int i=0;i<arr.length-1;i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for (int num:arr){
System.out.println(num+" ");
}
}
三.数组的查找
- 顺序查找
public static void main(String[] args) {
int[] arr = {0, 5, 6, 9, 79, 45, 123};
//查找45在数组中的位置
int key = 45;
for (int i = 0; i < arr.length ; i++) {
if (key==arr[i]){
System.out.println(i);
}
}
}
- 二分查找
public static void main(String[] args) {
int[] arr = {0, 5, 6, 9, 79, 45, 123};
//查找45在数组中的位置
int key = 45;
int left = 0;
int right =arr.length-1;
while(left<=right){
int mid = (left+right)/2;
if (arr[mid]>key){
right=mid-1;
}else if (arr[mid]<key){
left = mid+1;
}else {
System.out.println(mid);
break;
}
}
}
四.Arrays工具类
用于对数组进行排序,查找,填充,比较等操作
导入:import java.util.Arrays;