数组
-
数组:是相同类型数据的有序集合,描述的是相同类型的若干个数据,按照一定先后顺序排列组合而成,可以通过下标来访问数组元素,下标从0开始。
-
声明:
dataType[] arrays;
或者dataType array[];
首选第一种 -
创建:
dataType[] arrays = new dataType[arraySize]
-
获取数组长度:
arrays.length
-
依然满足 类型 变量名 = 变量值
Java内存分析
- 堆:存放new的对象和数组,可以被所有线程共享,不会存放别的对象引用。
- 栈:存放基本变量类型,会包含这个基本类型的具体数值。引用对象的变量,会存放这个引用在堆里面的具体地址
- 方法区:可以被所有线程共享,包含了所有的class和static变量
初始化
//静态初始化
int[] nums = {1,2,3};
Man[] mans = {new Man(1,1), new Man(2,2)};
//动态初始化
int[] nums = new int[2];
nums[0] = 1;
nums[1] = 2;
//默认初始化
/*数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中每个元素也按照实例变量同样的方式被隐式初始化。例如int类型未初始化之前每个元素都是0*/
特点
- 长度是确定的,一旦被创建,它的大小就是不可以改变的。
- 其元素必须是相同类型
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
- 数组变量属引用类型,数组也可以看作是对象,数组的每个元素相当于对象的成员变量。数组本身就是对象,Java中对象是在堆中,因此数组无论保存原始类型还是其他对象类型,数组对象本身实在堆中的。
多维数组
可以看作是数组的数组,比如二维数组,每一个元素都是一个一维数组。
//两行三列的数组
int a[][] = new int[2][3];
Arrays类
数组的工具类 java.util.Arrays
Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接用类名进行调用。
注:以上是学习记录,如有错误,烦请指出,谢谢!