1. 数组的概念
**数组:**可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。
- 数组中存放的元素其类型相同。
- 数组的空间是连在一起的。
- 每个空间有自己的编号,起始位置的编号为 0,即数组的下标。
2. 数组的基础知识
首先要明确一点,数组在 Java 中属于引用类型,引用类型变量的创建都需要 new出来。
2.1 数组的创建
1. 基础创建格式:
T[] 数组名 = new T[N]; T:表示数组中存放元素的类型 T[]:表示数组的类型 N:表示数组的长度
例如:
int[] array1 = new int[10]; // 创建一个可以容纳 10 个 int 类型元素的数组
double[] array2 = new double[5]; // 创建一个可以容纳 5 个 double 类型元素的数组
String[] array3 = new String[3]; // 创建一个可以容纳 3 个字符串元素的数组
数组的创建也可以类似 C 语言那样,把方括号 [] 写在变量名的右边。
2. 类似 C 语言的创建格式:
T 数组名[] = new T[N]; T:表示数组中存放元素的类型 T[]:表示数组的类型 N:表示数组的长度
例如:
int array1[] = new int[10]; // 创建一个可以容纳 10 个 int 类型元素的数组
double array2[] = new double[5]; // 创建一个可以容纳 5 个 double 类型元素的数组
String array3[] = new String[3]; // 创建一个可以容纳 3 个字符串元素的数组
【错误的创建 (初始化) 格式】 没有 new 一个数组对象。将数组长度的定义写在了第一个方括号 [] 里面。
例如:

2.2 数组的数据类型
注意:java 中数组的数据类型是 T[],而不是 T[n]。
【在 C 语言中,数组的数据类型是 T[n]】
比如现在有 1 个元素个数为 3 的整型数组'int[] arr = new int[3]',那么该数组 arr 的数据类型是 int[],而不是 int[3]。
2.3 数组的初始化 —— 两种方式
数组的初始化主要分为动态初始化以及静态初始化。
1. 动态初始化:(完全默认初始化)
在创建数组时,直接指定数组中元素的个数 N。创建后,从 0 到 N-1 的数组元素都被默认初始化。
语法格式:T[] 数组名 = new T[N];
例如:int[] array = new int[10];
如果数组中存储元素类型为基础类型,默认值为基础数据类型对应的默认值,比如:int 类型默认为 0,boolean 类型默认为 false。如果数组中存储元素类型为引用类型,默认值为 null。
2. 静态初始化:
在创建数组时不直接指定数据元素个数,而直接将具体的数据内容进行指定。
(完全格式) 语法格式①:T[] 数组名 = new T[]{data1, data2, data3, ..., datan}; (左边也可以写成'T 数组名[]')
(省略格式) 语法格式②:T[] 数组名 = {data1, data2, data3, ..., datan}; (左边也可以写成'T 数组名[]')
【这写法类似 C 语言的数组完全初始化,虽然看上去省去了 new T[],但是编译器编译代码时还是会还原】
例如:
格式 1 的静态初始化:
int[] array1 = new int[]{0,1,2,3,4,5,6,7,8,9};
String[] array3 = new String[]{


