1.2维数组: 2维数组是指存储1维数组(存储器地址/参照)的数组
2 .初始化二维数组
1 ) in tinta [ ] [ ]={ 1,2 }、{ 2,3 }、{ 3,4,5 };
2 ) int [][] intB=new int[3][5];
3 ) int []intC []=new int[3][] );
intC[0]=new int[2];
intC[1]=new int[3];
intC[2]=new int[5];
1 publicclasstestarray2{2publicstaticvoidmain (string [ ] args ) {3 //维数组不是规则矩阵
4 int [ ] inta [ ]={ 1,2 }、{ 2,3,4 }、{ 3,4,5,6 }; 5system.out.println(inta ); //[[I@5e265ba4两个[表示是二维的I表示数组是int型@5e265ba4表示存储器地址6
7 //声明包含三个维数组的二维数组。 不知道每个一维数据存储多少数组。 空值
8 int [][]intB=new int[3][]; 9 intB[0]=new int[3]; //3
10 intb [1]=new int [ ] { 1,2,3,4 }; //3
11 intB[2]=new int[2]; //2
12system.out.println(intb[1]; //[I@156643D4]
13 system.out.print ln (intb [1] [1]; //214
声明15 //维数组,同时创建一维数组。 各一维排列的长度容纳相同的16 //个一维排列,各一维排列的长度为4
17 int []intC[]=new int[3][4]; 18system.out.println(intc ); 19
20 }21 }
3 .遍历二维阵列
1 )正常for循环
2 )加强for循环
3 )常规for循环强化for循环
publicclasstestarray3{ publicstaticvoidmain (string [ ] args )//二维数组
int [ ] inta [ ]={ 1,2 }、{ 2,3,4 }、{ 3,4,5,6 }; //)1)普通for循环
for(intI=0; I
for(intj=0; Jj
system.out.print(inta[I][j]'t ';
}
System.out.println (;
(//)2)加强for循环
system.out.print ln ('n=================) ) () ) ) ) ) ) )。
for(intI:arr ) { //int,一维数组中元素的类型,I,迭代变量,arr,一维数组的名称
system.out.print(I't ' );
}
System.out.println (;
(//)3)强化普通和for循环的混搭
system.out.print ln ((n---------) ); 增强for(int[]ARR:inta ) (for
for(intI=0; I
system.out.print(ARR[I] () t );
}
System.out.println (;
}
system.out.println ((n-------- ) ) ) (((n-----) ) ) ) ) ) ) ) ) ) 65 ff I
system.out.print(j't ' );
}
System.out.println (;
}
}
}
view代码
4 .对象数组存储表数据
cxdbl 19男
kddz 20女
cjdxte 28男
数组可以存储基本数据类型,也可以存储引用数据类型
对象数组:使用数组存储对象(自定义对象) )
public class person { privatestring name; //名称
私有输入; //年龄
私有字符串生成器; //如果不重写性别toString并打印所需的输出,则只打印对象的存储器地址
@OverridepublicString toString () {//todo auto-generated method stub
返回名称't ' age 't ' gender; //publicperson(stringname,intage,stringgender({super ) ); this.name=name; this.age=age; this.gender=gender;
}publicPerson () ) {super;
}publicString getName () {returnname;
}publicvoidsetname(stringname ) {this.name=name;
}公共集成() ) {returnage;
}publicvoidsetage(intage ) {this.age=age;
}公共字符串获取生成器(() {returngender;
} publicvoidsetgender (string gender ) {this.gender=gender;
}
view代码
1 publicclasstestarray {2publicstaticvoidmain (string [ ] args ) {3 //创建包含三个人员类型对象的人员类型数组
4 Person [] pers=new Person[3]; 制作5//人员类型的对象
6人员P1=new人员(' cxd bl ',19,'男'); 7//Person型数组中容纳p1对象
8 pers[0]=p1; 9
10pers[1]=newPerson('kddz ',20,'女'); 11pers[2]=newPerson('cjdXTE ',28,'男人'); 12
13for(intI=0; I
17 }18 }
5 .数组复制
复制地址
int [ ] array={ 11,22,33,44 };
int[] arrayB=new int[5];
arrayB=array //个数组指向同一个存储器
复制值
int [ ] array={ 11,22,33,44 };
int[] arrayB=new int[5];
arrayB[0]=array[0];
System类的arraycopy(…)方法:如果速度快且数组大,则使用子方法。
1 publicclasstestarraycopy3{2publicstaticvoidmain (string [ ] args )3int [ ] arra={ 11,22,33,44 }; //源数组
4 int [] arrB=new int[5]; //目标数组
5
6 System.out.println ('阵列副本之前); 7for(Intnum:arrb )8system.out.print ) num't '; 9 ) 10//000011//复印
12系统. arraycopy (arra,0,arrB,1,2 ); 13
14system.out.println((n复制数组后); 15for(Intnum:arrb ) 16system.out.print ) num't '; 17 ) 18//011220
19 }20 }