(15)二维数组定义以及.length使用
一、二维数组的定义
二、内存表示:
①已确定几行几列的:
②没确定几列的:
3.举例(2内存表示的代码)
/*
* 行列确定
*/
int[][] arr=new int[3][4];
System.out.println(arr);
System.out.println(arr[0]);//在给列有几个时,为堆地址值
System.out.println(arr[0][1]);
/*
* 二维数组中,每列元素个数可以不同
* 可以对二维数组中,每个小数组手动初始化
*/
int [][] arr1=new int[3][];
System.out.println(arr1[0]);//在没给列有几个时,初始化值为null
arr1[0]=new int[3];
arr1[1]=new int[1];
arr1[2]=new int[2];
/*
* 打印数组长度
*/
System.out.println(arr1.length);//打印二维数组长度
System.out.println(arr1[2].length);//打印小数组的长度4.编程练习
/*
* 二维数组的另一种表示方式
* 需求:求二维数组中数据的总和
*/
int [][]arr2= {{1,2,3},{4,5},{6,7,9},{8},{10,11,12}};
int sum=0;
for(int i=0;i<arr2.length;i++) {
for(int j=0;j<arr2[i].length;j++) {
sum=sum+arr2[i][j];
}
}
System.out.println("数组数据总和为:"+sum);4:面试题目:
int [ ] x , y[ ]; 《==》int [ ]x;int [ ][ ]y;
判断下列操作是否可行?
a. x[0 ]=y;//y是二维数组,不能赋值给一维数组
b. y[0]=x;//x是一维数组,可以赋值给小数组
c. y[0][0]=x;
d. x[0][0]=y;
e. y[0][0]=x[0];
浙公网安备 33010602011771号