首页 > 编程知识 正文

java二维数组动态赋值,java怎么给二维数组赋值

时间:2023-05-03 20:39:49 阅读:106312 作者:2147

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 }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。