Array Initialization(数组初始化 隐式初始化时,数组中每个元素的值为所属数据 类型的默认值,对象引用类型为null隐式初始化 米 intl numbers=new int 10: Stringl names=new Strings]; 如果数组是多维数组则始化时确定第 intIl matrixA=new int5 5; intl matrix B=new int5;
Array Initialization (数组初始化) • 隐式初始化时,数组中每个元素的值为所属数据 类型的默认值,对象引用类型为null,隐式初始化 采用以下语法: <类型名>[] <变量名>=new <类型名>[长度] <类型名> <变量名>[]=new <类型名>[长度] • 如果数组是多维数组,则必须在初始化时确定第 一维的长度 int[] numbers=new int[10]; String[] names=new String[5]; int[][] matrixA=new int[5][5]; int[][] matrixB=new int[5][];
Array Initialization(数组初始化 显式初始化可以分为三融形式 1)intIl numbers=new int[101 的 #for(int i=0; i<numbers. length; i++) (2 intl numbers={0,1,2,3,4,5,6,7,8,9 intl numbers=new int[0, 1, 23, 4 5, 6, 7, 8, 9) Stringl names=new String 3 names= new Stringll{“ Zhang”,“wang”,"Li”};
Array Initialization (数组初始化) • 显式初始化可以分为三种形式: (1) 在隐式初始化后,通过遍历数组,为数组中的 每一个元素赋值 (2) 在声明数组变量时,将包含各个元素值的花括 号对“{…}”作为初始值,括号中的各元素值用逗 号隔开 (3) 创建匿名数组(Anonymous Array),作为数组变 量的初始值或对数组变量重新赋值 int[] numbers=new int[10]; for(int i=0;i<numbers.length;i++) numbers[i]=i; String[] names=new String[3]; names[0]=“Zhang”; names[1]=“Wang”; names[2]=“Li”; int[] numbers={0,1,2,3,4,5,6,7,8,9} String[] names={“Zhang”, “Wang”, “Li”} int[] numbers=new int[]{0,1,2,3,4,5,6,7,8,9}; String[] names=new String[3]; names=new String[]{“Zhang”, “Wang”, “Li”};
Arr floatel mat-new float(/; for(int i=0; i<mat length; i++) 由mati= new float14; 本 身 oath vector=mat0; 为 mat(O length 维 mat 对 0{0123mat0 度目101231mat1问 该 2 1|23mat2 3 123mat31
Arrays of Arrays (数组的数组) • 由于数组的元素可以是对象引用,而数组本 身是对象,因此N(N≥2)维数组又可以看作 为X(X<N)维数组,数组的每个元素是N-X 维数组 • 对于多维数组 N[x][y]…[z],对于已确定长 度的维,可以通过N[x][y]…[m] 的形式访问 该维所对应的数组元素 float[][] mat=new float[4][]; for(int i=0;i<mat.length;i++) mat[i]=new float[4]; float[] vector0=mat[0]; 0 1 2 3 mat mat.length 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 mat[0] mat[1] mat[2] mat[3] mat[0].length
Arr floated mat-new float 4l for(int i=0; i<mat length; i++) 在各 mati=new float i+l; 的 float vector2=mat[1: mat mat 0 0123 01 mat(1(vector2) 012mat(2 123mat31
Arrays of Arrays (数组的数组) • 在Java语言中,多维数组某一维上所对应的 各个数组元素的长度可以不相同 float[][] mat=new float[4][]; for(int i=0;i<mat.length;i++) mat[i]=new float[i+1]; float[] vector2=mat[1]; 0 1 2 3 mat mat.length 0 0 1 0 1 2 0 1 2 3 mat[0] mat[1](vector2) mat[2] mat[3]