Java语言中数组必须先初始化,然后才可以使用。所谓初始化就是为数组的数组元素分配内存空间,并为每个数组元素附初始值。
注意:数组完成初始化后,内存空间中针对该数组的各个元素就有个一个默认值:
基本数据类型的整数类型(byte、short、int、long)默认值是0;
基本数据类型的浮点类型(float、double)默认值是0.0;
基本数据类型的字符类型(char)默认值是'u0000';
基本数据类型的布尔类型(boolean)默认值是false;
类型的引用类型(类、数组、接口、String)默认值是null.
一.静态初始化
初始化时由程序员显式指定每个数组元素的初始值,有系统决定数组的长度;
1.arrayName = new type[]{element1,element2,element3...}
int[] intArr = new int[]{1,2,3,4,5,9};
2.简化的静态初始化方式 type[] arrayName = {element1,element2,element3...};
String[] strArr = {"张三","李四","王二麻"};
二.动态初始化
初始化时由程序员指定数组的长度,由系统初始化每个数组元素的默认值。
type[] arrayName = new type[length];
int[] price = new int[4];
对单独元素进行赋值:
arrayName[index]=valve;
price[1]=1;
注意:不要同时使用静态初始化和动态初始化,也就是说,不要在进行数组初始化时,既指定数组的长度,也为每个数组元素分配初始值。
三.初始化二维数组
二维数组可以初始化,和一维数组一样,可以通过 2 种方式来指定元素的初始值。这 2 种方式的语法如下:
type[][] arrayName = new type[][]{{值1,值2,…,值n},{值1,值2,…,值n}}; // 在定义时初始化
type[][] arrayName = new type[size1][size2]; // 给定空间,再赋值
四.示例代码及运行结果
示例代码:
import java.util.Arrays;public class Main {public static void main(String[] args) {int[] intArr = new int[]{1, 2, 3, 4, 5, 9};float[] floatArr = new float[4];floatArr[1] = 6.6f;System.out.println(Arrays.toString(intArr));System.out.println(Arrays.toString(floatArr));long[][] longArr = new long[][]{{1, 2, 3}, {4, 5, 9}};double[][] doubleArr = new double[2][3];doubleArr[0][0]=8.8;System.out.println(Arrays.toString(longArr[0]));System.out.println(Arrays.toString(doubleArr[0]));}
}
运行结果:
[1, 2, 3, 4, 5, 9]
[0.0, 6.6, 0.0, 0.0]
[1, 2, 3]
[8.8, 0.0, 0.0]