概念
- 数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器
- 数组既可以存储基本数据类型,也可以存储引用数据类型
- 数组是一组相关数据的集合,一个数组实际上就是一连串的变量.
数组(一维数组):内存空间连续的一块区域,用来存储同一种数据类型的多个元素
数组的声明和使用
索引: 从0开始
数组的声明
- 格式: 数据类型[] 数组名; 数组名其实就是一个变量名
- 定位数组的位置: 数组名[索引] ,比如说第0个元素: 数组名[0]
第一种: 一般情况下,当我们不知道数据里面有什么内容的时候,我们会先声明一个数组,然后再去赋值
int[] array = new int[5];
array[0] = 1;
array[1] = 3;
array[2] = 5;
array[3] = 6;
array[4] = 7;
第二种
int[] array2 = new int[]{1,3,5,7,9};
第三种 虽然我们没有明确的指定数组的长度,但是一旦声明了以后,长度就固定了
int[] array3 = {1,3,5,7,9};
Arrays工具
工具类: 就是为了方便我们的开发,提供一些常用的方法
int[] ages = {4,2,71,9,5,3,8};
// Arrays.toString(ages)
//一般在服务器上打印日志的时候,会使用到这个方法
System.out.println(Arrays.toString(ages));
// Arrays.sort(ages);
// 一般有自然排序的时候,会使用到这个方法
Arrays.sort(ages);
System.out.println(Arrays.toString(ages));
// Arrays.copyOf(ages, 10);
一般在数组扩容的时候,会使用到这个方法
int[] ints = Arrays.copyOf(ages, 10);
System.out.println(Arrays.toString(ints));
冒泡排序
//冒泡排序
int num = 0;
for (int i = 0; i < age.length - 1; i++) {
for (int j = 0; j <age.length - 1 - i ; j++) {
if (age[j] > age[j+1]){
num = age[j+1];
age[j+1] = age[j];
age[j] = num;
}
}
}
二维数组
二维数组实际上是一个以一维数组做为元素的一维数组
二维数组的声明
- 格式: 数据类型 [ ][ ] 数组名
- 定位二维数组的位置: 数组名[索引][索引] ,比如说第0个元素: 数组名[1][12]
定义二维数组时,要定义最大维数
int[][] aee = new int[5][];