§7.1.2 为数组分配元素二维数组 维数组和一维数组一样,在声明之后必须用new运算符为 数组分配内在空间。 例如:int mytwol如D; mytwo new int [3][4]; 声明数组和创建数组可以一起完成,例如: int mytwo=new int[3][4]; Java采用“数组的数组”来声明多维数组. 上述创建的二维数组mytwo就是由3个长度为4的一维数组: mytwo[0]、mytwo[1刂和mytwo[2]构成的。 构成二维数组的一维数组不必有相同的长度,在创建二维数 组时可以分别指定构成该二维数组的一维数组的长度,例如: int a=new int[3]0; 注:和C语言不同的是,Java允许使用int型变量的值指定数组的元素的 个数,例如: int size=30; double number[]=new double[size];
6 §7.1.2 为数组分配元素_二维数组 二维数组和一维数组一样,在声明之后必须用new运算符为 数组分配内在空间。 例如:int mytwo[][]; mytwo = new int [3][4]; 声明数组和创建数组可以一起完成,例如: int mytwo[][] = new int[3][4]; Java采用“数组的数组”来声明多维数组. mytwo 3 4 mytwo[0] mytwo[1] mytwo[2] int a[][]=new int[3][]; 注:和C语言不同的是,Java允许使用int型变量的值指定数组的元素的 个数,例如: int size=30; double number[]=new double[size];
§7.1.3数组元素的使用 维数组通过索引符访问自己的元素,如boy[0], boy[1]等。需要注意的是索引从0开始 0 二 维数组也通过索引符访问自己的元素,如a[0][1], a[1][2]等;需要注意的是索引从0开始。 比如声明创建了一个二维数组a: int a=new int[2][3]; 那么第一个索引的变化范围为从0到1,第二个索引 变化范围为从0到2。 2025/4/2
2025/4/2 7 §7.1.3 数组元素的使用 一维数组通过索引符访问自己的元素,如boy[0], boy[1]等。需要注意的是索引从0开始 。 二维数组也通过索引符访问自己的元素,如a[0][1], a[1][2]等;需要注意的是索引从0开始。 比如声明创建了一个二维数组a: int a[][] = new int[2][3] 那么第一个索引的变化范围为从0到1,第二个索引 变化范围为从0到2
§7.1.41 ength的使用 数组的元素的个数称作数组的长度。 对于一维数组,“数组名.lengthi”的值就是数组中 元素的个数。 对于二维数组“数组名.length”的值是它含有的一 维数组的个数。 例如,对于 float a=new float[12]; int b]=new int[3][6]; a.length的值12;而b.1 ength的值是3
8 §7.1.4 length的使用 数组的元素的个数称作数组的长度。 对于一维数组,“数组名.length”的值就是数组中 元素的个数。 对于二维数组“数组名.length”的值是它含有的一 维数组的个数。 例如,对于 float a[] = new float[12]; int b[][] = new int[3][6]; a.length的值12;而b.length的值是3
§7.1.5 数组的初始化 创建数组后,系统会给数组的每个元素一个默认的值,如, f1oat型是0.0。 在声明数组的同时也可以给数组的元素一个初始值,如: f1 oat boy[]={21.3f,23.89f,2.0f,23f,778.98f」: 也可以直接用若干个一维数组初始化一个二维数组,这些一 维数组的长度不尽相同, 例如: inta[][]={{1J,{1,1},{1,2,1),{1,3,3,1},{1,4,6,4,1}); 2025/4/2
2025/4/2 9 §7.1.5 数组的初始化 创建数组后,系统会给数组的每个元素一个默认的值,如, float型是0.0。 在声明数组的同时也可以给数组的元素一个初始值,如: float boy[] = { 21.3f,23.89f,2.0f,23f,778.98f}; 也可以直接用若干个一维数组初始化一个二维数组,这些一 维数组的长度不尽相同, 例如: int a[][]= {{1}, {1,1},{1,2,1}, {1,3,3,1},{1,4,6,4,1}};
§7.1.6数组的引用 数组属于引用型变量,因此两个相同类型的数组如果具有相 同的引用,它们就有完全相同的元素。 例如,对于int a=1,2,3,b[]=(4,5;数组变量a和b分别存放着 引用0x35ce36和0x757aef。 如果使用了下列赋值 0x35ce36 a[] Ox757aef a 语句(a和b的类型必须相同) 3 a[2] a=b;那么,a中存放 图7.2 数组a、b的内存模型 的引用和b的相同,这时 系统将释放最初分配给 b 数组a的元素,使得a的 0x757aef b[O Ox757aef 元素和b的元素相同。 b a、b的内存模型变成如图 7.2,图7.3所示。 图7.3ab后的数组a、b的内存模型 10
10 §7.1.6 数组的引用 数组属于引用型变量,因此两个相同类型的数组如果具有相 同的引用,它们就有完全相同的元素。 例如,对于int a[] = {1,2,3}, b[ ]= {4,5};数组变量a和b分别存放着 引用0x35ce36和0x757aef。 如果使用了下列赋值 语句(a和b的类型必须相同) a=b;那么,a中存放 的引用和b的相同,这时 系统将释放最初分配给 数组a的元素,使得a的 元素和b的元素相同。 a、b的内存模型变成如图 7.2,图7.3所示