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]