(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];


















































posted @ 2017-07-05 15:04  测试开发分享站  阅读(473)  评论(0)    收藏  举报