1、定义
-
相同数据类型的有序集合
-
其中,每一个数据称作为一个数组元素,每个数组元素可以通过一个下标来访问他们
2、数组的声明、创建、初始化
2.1、声明
-
语法:
-
数组类型[] 数组名;(首选)
-
数组类型 数组名[];
//示例
int[] intNums;
double doubleNums[]; -
2.2、创建
-
使用new操作符创建数组
-
语法:数组类型[] 数组名 = new 数组类型[数组长度];
//示例
int[] intNums = new int[8];
2.3、初始化
-
默认初始化
-
数组是引用类型,一经创建,也就是分配空间后,其中的每个元素会被隐式地初始化,有默认值
-
-
静态初始化
-
语法:数组类型[] 数组名 = {数组元素,数组元素,数组元素......};
//基本数据类型数组
int[] intNums = {1,2,3};
//Dog类
public class Dog {
String name;
public Dog(String name) {
this.name = name;
}
}
//引用类型数组
Dog[] dogs = {new Dog("豆包"),new Dog("旺财")};
-
-
动态初始化
-
语法:
-
数组类型[] 数组名 = new 数组类型[数组长度];
-
数组名[下标索引] = 值;
int[] intNums = new int[3];
intNums[0] = 1;
intNums[1] = 2;
intNums[2] = 3; -
-
2.4、从内存分析数组声明、创建、初始化的过程
-
简单认识Java内存
-
堆内存
-
存放new的对象和数组
-
可以被所有的线程共享
-
-
栈内存
-
存放基本变量类型(会包含这个基本对象类型的数值)
-
引用对象的变量(会存放这个变量存放在堆内存的地址)
-
-
方法区
-
包含了所有的class和static变量
-
可以被所有的线程共享
-
-
-
过程画图分析如下