一维数组
概念
1.数组Array,标志是[ ] ,用于储存多个相同类型数据的集合
想要获取数组中的元素值,可以通过脚标(下标)来获取
数组下标是从0开始的,下标的最大值是数组的长度减1
2.数组创建出来在没有赋值的情况下默认为0
创建数组的三种方式
//动态初始化
int[] a = new int[5];
//静态初始化
int[] b = new int[]{1,2,3,4,5};
int[] c = {1,2,3,4,5};
创建数组过程分析
- 在内存中开辟连续的空间,用来存放数据,长度是5
- 给数组完成初始化过程,给每个元素赋予默认值,int类型默认值是0
- 数组完成初始化会分配一个唯一的地址值
- 把唯一的地址值交给引用类型的变量a去保存
数组名是个引用类型的变量,它保存着的是数组的地址,不是数组中的数据
1.数组的长度是指创建时设置长度,或者具体设置给数组里多少位值
2.数组的最小下标从0开始,最大下标是数组的length-1
注意:数组一但创建长度不可改变
数组工具类Arrays
Arrays.toString(数组);
把数组里的数据,用逗号连接成一个字符串[值1,值2]
char类型底层做了处理,可以直接打印数组中的元素除char类型之外的所有数组,必须使用数组的工具类Arrays.toString(数组);
Arrays.sort(数组);
对数组进行排序,对于基本类型的数组使用的是优化后的快速排序算法,效率高对引用类型数组,使用的是优化后的合并排序算法
Arrays.copyOf(数组,新的长度);
1.把数组赋值成一个指定长度的新数组
2.新数组的长度 大于 原数组, 相当于复制,并增加位置
3.新数组的长度 小于 原数组, 相当于截取一部分数据
Arrays.copyOfRange(数组, 2, 5);
可以截取数组中的一段数组生成新的数组
取值方法是左闭右开(包含截取的第一位数,不包含截取的最后一位数
二维数组
创建二维数组的二种方式
//静态创建
int[][] a = {{3,5},{7,9},{1,2}};
//动态创建
int[][] b = new int[5][5];//其中数组的长度必须设定,而列数可设定,可不设定
System.out.println(a[i][j]); //可打印二维数组中每个元素的值