二维基本数据类型数组
Java语言中,二维数组被看作一维数组的一维数组。
一、二维基本数据类型数组变量的定义
方法一:dataType[][]arrayName;
方法二:dataType arrayName[][];
二、二维基本数据类型数组变量的赋值
方法一:arrayName=new dataType[arraySize1] [arraySize2];
方法二:arrayName=new dataType[arraySize1][];
方法三:arrayName=new dataType[][]{{若干值},{若干值},…,{若干值}};
public class Demo {
public static void main(String[] args){
int[][]a;
//System.out.println(a);//error
//方法一:
a=new int[2][3];
System.out.print("方法一:\n"+a);
for(int i=0;i<a.length;i++)System.out.print(","+a[i]);
for(int i=0;i<a.length;i++)for(int j=0;j<a[i].length;j++)System.out.print(","+a[i][j]);
System.out.println("");
//方法二:
a=new int[2][];
System.out.print("方法二:\n"+a);
for(int i=0;i<a.length;i++)System.out.print(","+a[i]);
System.out.println("");
a[0]=new int[]{1};a[1]=new int[]{2,3};
System.out.print(a);
for(int i=0;i<a.length;i++)System.out.print(","+a[i]);
for(int i=0;i<a.length;i++)for(int j=0;j<a[i].length;j++)System.out.print(","+a[i][j]);
System.out.println("");
//方法三:
a=new int[][]{{1},{2,3}};
System.out.print("方法三:\n"+a);
for(int i=0;i<a.length;i++)System.out.print(","+a[i]);
for(int i=0;i<a.length;i++)for(int j=0;j<a[i].length;j++)System.out.print(","+a[i][j]);
System.out.println("");
}
}
方法一:
[[I@1db9742,[I@106d69c,[I@52e922,0,0,0,0,0,0
方法二:
[[I@25154f,null,null
[[I@25154f,[I@10dea4e,[I@647e05,1,2,3
方法三:
[[I@1909752,[I@1f96302,[I@14eac69,1,2,3
三、二维基本数据类型数组变量的初始化
方法一:dataType[][]arrayName=new dataType[arraySize1] [arraySize2];
方法二:dataType[][]arrayName=new dataType[arraySize1][];
方法三:dataType[][]arrayName=new dataType[][]{{若干值},{若干值},…,{若干值}};
方法四:dataType[][]arrayName={{若干值},{若干值},…,{若干值}};
下面的程序只说明方法四:
public class Demo {
public static void main(String[] args){
int[][]a={{1},{2,3}};
System.out.print("方法四:\n"+a);
for(int i=0;i<a.length;i++)System.out.print(","+a[i]);
for(int i=0;i<a.length;i++)for(int j=0;j<a[i].length;j++)System.out.print(","+a[i][j]);
System.out.println("");
}
}
程序输出:
方法四:
[[I@1db9742,[I@106d69c,[I@52e922,1,2,3
二维对象数组
一、二维对象数组变量的定义
方法一:ClassName[][]objectArrayName;
方法二:ClassName objectArrayName[][];
二、二维对象数组变量的赋值
方法一:objectArrayName=new ClassName[arraySize1] [arraySize2];
方法二:objectArrayName= new ClassName[arraySize1][];
方法三:objectArrayName= new ClassName[][]{{若干ClassName类对象},{若干ClassName类对象},…,{ 若干ClassName类对象}};
public class Demo{
String name;
int age;
Demo(String name,int age){this.name = name;this.age = age;}
@Override
public String toString(){return "[" + name + "," + age + "]";}
public static void main(String[] args){
Demo[][]t;
//System.out.println(t);//error
//方法一:
t = new Demo[2][3];
System.out.print("方法一:\n"+t);
for(int i=0;i<t.length;i++)System.out.print(","+t[i]);
for(int i=0;i<t.length;i++)for(int j=0;j<t[i].length;j++)System.out.print(","+t[i][j]);
System.out.println("");
//方法二:
t=new Demo[2][];
System.out.print("方法二:\n"+t);
for(int i=0;i<t.length;i++)System.out.print(","+t[i]);
System.out.println("");
t[0]=new Demo[]{new Demo("aa",10),new Demo("bb",11)};
t[1]=new Demo[2];t[1][0]=new Demo("zs",18);t[1][1]=new Demo("ls",19);
System.out.print(t);
for(int i=0;i<t.length;i++)System.out.print(","+t[i]);
for(int i=0;i<t.length;i++)for(int j=0;j<t[i].length;j++)System.out.print(","+t[i][j]);
System.out.println("");
//方法三:
t=new Demo[][]{{new Demo("aa",10)},{new Demo("zs",18),new Demo("ls",19)}};
System.out.print("方法三:\n"+t);
for(int i=0;i<t.length;i++)System.out.print(","+t[i]);
for(int i=0;i<t.length;i++)for(int j=0;j<t[i].length;j++)System.out.print(","+t[i][j]);
System.out.println("");
}
}
程序输出:
方法一:
[[LDemo;@1db9742,[LDemo;@106d69c,[LDemo;@52e922,null,null,null,null,null,null
方法二:
[[LDemo;@25154f,null,null
[[LDemo;@25154f, [LDemo;@10dea4e, [LDemo;@647e05,[aa,10],[bb,11],[zs,18],[ls,19]
方法三:
[[LDemo;@1909752, [LDemo;@1f96302, [LDemo;@14eac69, [aa,10],[zs,18],[ls,19]
三、二维对象数组变量的初始化
方法一:ClassName [][]objectArrayName=new ClassName[arraySize1] [arraySize2];
方法二:ClassName [][]objectArrayName= new ClassName[arraySize1][];
方法三:ClassName [][]bjectArrayName= new ClassName[][]{{若干ClassName类对象},{若干ClassName类对象},…,{ 若干ClassName类对象}};
方法四:ClassName [][]bjectArrayName={{若干ClassName类对象},{若干ClassName类对象},…,{ 若干ClassName类对象}};
下面的程序只说明方法四:
public class Demo{
String name;
int age;
Demo(String name,int age){this.name = name;this.age = age;}
@Override
public String toString(){return "[" + name + "," + age + "]";}
public static void main(String[] args){
Demo[][]t={{new Demo("aa",10)},{new Demo("zs",18),new Demo("ls",19)}};
System.out.print("方法四:\n"+t);
for(int i=0;i<t.length;i++)System.out.print(","+t[i]);
for(int i=0;i<t.length;i++)for(int j=0;j<t[i].length;j++)System.out.print(","+t[i][j]);
System.out.println("");
}
}
程序输出:
方法四:
[[LDemo;@1db9742,[LDemo;@106d69c,[LDemo;@52e922,[aa,10],[zs,18],[ls,19]
[此贴子已经被作者于2016-10-20 03:07编辑过]