## 数组的初始化方式总共有三种:静态初始化、动态初始化、默认初始化。
# 静态初始化
除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。
```
int arr[]= {12,23,45};
//本人喜欢这么写
```
```
int[] arr = {12,23,45};
//可以这么写
int[] arr = new int[]{12,23,45};
//可以这么写
注意:
1.new int[3]{12,23,45};-->错误
2.int[] arr ;
arr = {12,23,45}; --->错误
```
# 动态初始化
(用函数行参里)
数组定义与为数组元素分配空间并赋值的操作分开进行。
本人喜欢用int arr[]
```
int[] arr ;
//动态初始化用于函数行参里
arr = new int[3]
arr[0] = 12;
arr[1] = 23;
arr[2] = 45;
```
# 默认初始化
数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
```
int[] arr = new int[3]; ---> 数组有默认的初始化值
```