public class Array2 {
public static void main(String[] ages){
//一:定义一个二维数组
int [][] arr=new int [3][2]; //定义了一个二维数组,有3个元素,每个元素有一个一维数组;
System.out.println(arr); //输出二维数组地址
System.out.println(arr[0]); //输出二维数组第一个元素地址
System.out.println(arr[1]); //输出二维数组第二个元素地址
System.out.println(arr[2]); //输出二维数组第三个元素地址
System.out.println(arr[0][0]); //输出二维数组第一个元素中一维数组第一个索引的值
System.out.println(arr[0][1]); //输出二维数组第一个元素中一维数组第二个索引的值
arr[0][0]=1;
arr[0][1]=2;
arr[1][0]=3;
arr[1][1]=4;
System.out.println(arr[0][0]);
System.out.println(arr[0][1]);
System.out.println(arr[1][0]);
System.out.println(arr[1][1]);
System.out.println("-----------------------");
//二:定义一个没有一维数组长度的二维数组;
int [][] arr1=new int [3][];
//arr1[0]=new int{1,2,3,4}; 不能这样给值 错误
//arr1[1]={66}; ==错误
//arr1[0]=new int {2}; []错误
//arr1[0]=new int (2); ()错误
arr1[0]=new int [2];
arr1[0][0]=1;
arr1[0][1]=2; //**只能先给一维数组分配空间,任何在空间中给一维数组中的元素一一辅助;
System.out.println(arr[0][0]);
System.out.println(arr[0][1]);
System.out.println("-----------------------");
//三:直接定义数组并赋值;
int [][] arr2={{1,2,3},{4,5},{6}};
System.out.print(arr2[0][0]+" ");
System.out.print(arr2[0][1]+" ");
System.out.print(arr2[0][2]+" ");
System.out.print("\n");
System.out.print(arr2[1][0]+" ");
System.out.print(arr2[1][1]+" ");
System.out.print("\n");
System.out.println(arr2[2][0]);
System.out.println("-----------------------");
// *****************************************重要重要重要;
//四:这样输出数组太麻烦了, 我们来遍历数组;
for(int x=0;x<arr2.length;x++){
for(int y=0;y<arr2[x].length;y++){
System.out.print(arr2[x][y]+" ");
}
System.out.print("\n");
}
// *****************************************重要重要重要;
程序运行结果为:
[[I@1b6d3586
[I@4554617c
[I@74a14482
[I@1540e19d
0
0
1
2
3
4
1
2
1 2 3
4 5
6
1 2 3
4 5
6