1 数组
1.1 概念
数组Array, 标志是[ ],用于储存多个相同类型数据的集合
想要获取数组中的原数值,可以通过脚标(下标)来获取
数组下标是从0开始的,下标的最大值是数组的长度减1
1.2 创建数组
数组的创建方式一般分为动态初始化和静态初始化
1.动态初始化
int[ ] a = new int[5];
2.静态初始化
int[] b = new int []{1,2,3,4,5};
int [] c = {1,2,3,4,5}
1.3 创建数组过程分析
程序创建数据int [] a = new int [5];时发生了什么?
1.在内存中开壁连续的空间,用来存放数据,长度是5
2.给数组完成初始化过程,给每个元素赋予默认值,int类型默认值是0
3.数组完成初始化会分配一个唯一的地址值
4.把唯一的地址值交给引用类型的变量a去保存
数组名是个引用类型的变量,它保存着的是数组的地址,不是数组中的数据
1.4 数组的长度
数组的长度用length属性来表示,数组一旦创建,长度不可改变
数组的长度允许为0
1.5 数组的遍历
遍历:从头到尾,依次访问数组每一个位置,获取每一个位置的元素,形势如下:
我们通过数组的下标操作数组,所以for循环变量操作的也是数组下标
开始:开始下标0 结束:结束下标length-1 如何变化:++
for(从下标为0的位置开始; 下标的取值<=数组的长度-1; 下标++){
循环体
}
2 数组工具类Arrays
2.1 Arrays.toString(数组)
1 | 把数组里的数据,用逗号连接成一个字符串[值1,值2]
2.2 Arrays.sort(数组)
1 | 对数组进行排序,对于基本类型的数组使用的是优化后的快速排序算法,效率高
2 | 对引用类型数组,使用的是优化后的合并排序算法
2.3 Arrays.copyOf(数组, 新的长度)
把数组赋值成一个指定长度的新数组
新数组的长度大于 原数组,相当于赋值,并增加位置
新数组的长度 小于 原数组,相当于截取一部分数据
3 二维数组
3.1 概念
存放数组的数组, 也就是说数组里存的还是数组的数据形势
3.2 创建二维数组
int[][] a = {{2,5},{7,9},{1,2}};
创建外部数组,长度是3
给每个外部数组的位置创建内部数组,每个内部数组的长度是2
给每个内部数组进行数据初始化
二维数组生成唯一的地址值
把地址值交给引用类型变量a来保存
3.3 遍历二维数组
for(int i= 0; i<a.length;i++){//遍历外部数组
for(int j = 0; j<a [i].length;j++){//遍历内部数组
system.out.println(a[i][j];//依次打印二维数组中每个元素的值
}
}