数组
1.数组初识
表示存储相同数据类型数据的有序集合
特点
- 数组中存放的数据必须是同一个数据类型,可以使基本数据类型也可以是引用数据类型
- 数组在定义的时候必须给定大小,而且大小不可以改变
- 可以通过下标值来获取数据,一般下标从“0”开始
使用
-
声明数组
-
创建空间
-
赋值
-
数组操作
public class ArrayDemo{ public static void main(String[] args){ //声明数组 int[] array; //创建内存空间 array = new int[5]; //数组赋值 array[0] = 0; array[1] = 1; array[2] = 2; array[3] = 3; array[4] = 4; //数组操作 for(int i=0;i<5;i++) { System.out.println(array[i]); } } }
2.一维数组的几种创建方式
-
声明并申请空间
int[] arr = new int[5];
-
声明数组并赋值
int[] arr = new int[]{1,2,3,4,5};
-
直接初始化
int[] arr = {1,2,3};
获取数组长度
System.out.println(arr.length);
随堂练习:计算5位学生的平均分
public class Demo {
public static void main(String[] args){
int sum = 0;
Scanner sc = new Scanner(System.in);
int[] array = new int[5];
for(int i=0;i<5;i++){
array[i] = sc.nextInt();
}
for(int j = 0;j<array.length;j++){
sum += array[j];
}
System.out.println(sum/5);
}
}
3.数组经常用来考排序算法
面试需求
-
会写某种排序算法
-
排序算法的时间(空间)复杂度
-
排序算法的稳定性
public class Arraysort{ public static void main(String[] args){ //定义数组 int[] array = new int[]{4,1,7,2,9,3,5,8,6}; //将数组进行排序操作,从小到大 //冒泡排序 for(int i=0;i< array.length;i++){ for(int j=0;j<array.length-1-i;j++){ if(array[j]>array[j+1]){ int tmp = array[j]; array[j] = array[j+1]; array[j+1] = tmp; } } } for(int i=0;i<array.length;i++){ System.out.print(array[i]+"\t"); } //选择排序 for(int i=0;i< array.length;i++){ for(int j = i+1;j< array.length;j++){ if(array[i]>array[j]){ int tmp = array[i]; array[i] = array[j]; array[j] = tmp; } } } for(int i=0;i<array.length;i++){ System.out.print(array[i]+"\t"); } } }
4.二维数组(常用于矩阵运算)
public class Demo {
public static void main(String[] args){
int[][] arr = new int[3][];
//创建二维数组的对象
arr[0] = new int[5];
arr[1] = new int[3];
arr[2] = new int[4];
//赋值
arr[0][0] = 1;
arr[0][1] = 2;
arr[0][2] = 3;
arr[0][3] = 4;
arr[0][4] = 5;
arr[1][0] = 6;
arr[1][1] = 7;
arr[1][2] = 8;
arr[2][0] = 9;
arr[2][1] = 10;
arr[2][2] = 11;
arr[2][3] = 12;
for(int i=0;i< arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
}
5.java.util.Arrays
提供了关于数组操作的API
-
打印数组——toString方法
-
比较两个数组是否相同——equals方法
-
数组排序——sort方法
public class Demo { public static void main(String[] args){ int[] array = new int[]{4,1,7,2,9,3,5,8,6}; Arrays.sort(array); for(int i=0;i< array.length;i++){ System.out.print(array[i]); } } }
-
数组查找——binarySearch方法
版权声明:本文为qq_24254611原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。