文章目录活动地址:CSDN21天学习挑战赛
- 一、数组是什么?
- 二、数组声明创建
- 1、声明数组
- 2、创建数组
- 3、内存分析
- 4.三种初始化
- 5、数组边界
- 三、Arrays 类
- 总结(待更新)
一、数组是什么?
数组就是用来存储一批同种类型数据的内存区域(可以理解成容器)。们可以把它看作是一个类型的所有数据的一个集合,并用一个数组下标来区分或指定每一个
数。
首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:
dataType[] arrayRefVar; // 首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法
建议使用 dataType [ ] arrayRefVar 的声明风格声明数组变量
2、创建数组Java语言使用new操作符来创建数组,语法如下:
arrayRefVar = new dataType[arraySize];
数组的元素是通过索引访问的。数组索引从 0 开始,所以索引值从 0 到 arrayRefVar.length-1。
- 一、使用 dataType[arraySize] 创建了一个数组。
- 二、把新创建的数组的引用赋值给变量 arrayRefVar。
获取数组长度:
arrays.length3、内存分析
- 声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。因此,声明数组时不能指定其长度(数组中元素的个数),例如: int a[5]; //非法
- 声明一个数组的时候并没有数组被真正的创建。
- 构造一个数组,必须指定长度
//1.声明一个数组 int[] myList = null;
//2.创建一个数组 myList = new int[10];4.三种初始化
- 静态初始化
int[] a = {1,2,3};
Man[] mans = {new Man(1,1),new Man(2,2)};
- 动态初始化
int[] a = new int[2]; a[0]=1; a[1]=2;
- 数组的默认初始化
数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
public static void main(String[] args) {
int[] a=new int[2];
boolean[] b = new boolean[2];
String[] s = new String[2];
System.out.println(a[0]+":"+a[1]); //0,0
System.out.println(b[0]+":"+b[1]);//false,false
System.out.println(s[0]+":"+s[1]);//null, null
}
5、数组边界
下标的合法区间:[0, length-1],如果越界就会报错;
ArrayIndexOutOfBoundsException : 数组下标越界异常!
三、Arrays 类数组的工具类java.util.Arrays,由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。
具有以下常用功能:
- 给数组赋值:通过 fill 方法。
- 对数组排序:通过 sort 方法,按升序。
- 比较数组:通过 equals 方法比较数组中元素值是否相等。
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
Keep on going Never give up



