第十、Java的二维数组

来源:互联网 发布:下载12360软件下载 编辑:程序博客网 时间:2024/06/01 09:31

数组的特点:

1. 数组只能存储同一种 数据类型的数据。
2. 数组是会给存储到数组中 的元素分配一个索引值的,索引值从0开始,最大的索引值是length-1;
3. 数组一旦初始化,长度固定。

4. 数组中的元素与元素之间的内存地址是连续的。


二维数组: 二维数组就是数组中的数组。

一根    变量

一盒     20根               一维数组

一条     10包   20根     二维数组


二维数组 的定义格式:

数据类型[ ][ ]  变量名 = new 数据类型[一维数组的个数][每一个一维数组中元素的个数];
长度1:一条烟有多少盒。
长度2: 一盒烟有多少根。

二维数组 的初始化方式:

动态初始化:
数据类型[][] 变量名 = new 数据类型[长度1][长度2];
静态初始化:

数据类型[][]  变量名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...} ..}


public static void main(String[] args) {//定义了一个二维数组int[][] arr = new int[3][4];arr[1][1] = 100;/*System.out.println("二维数组的长度:"+ arr.length);  // 3System.out.println("二维数组的长度:"+ arr[1].length); //4*/System.out.println("数组的元素:"+ arr[1][1]);}


疑问: 为什么 arr.length = 3,  arr[1].length = 4 ?





二维数组常见的操作:

1.      遍历二维数组

2.      对二维数组求和

 


class myArr {    // 定义一个遍历二维数组的功能函数public static void printArr2( int [][] a ){   // 1. 拆开二维数组   for ( int i = 0 ; i < a.length ; i++ )   {   // 2. 拆开一维数组获取数据   for ( int j = 0 ; j < a[i].length ; j++ )   {System.out.print( a[i][j]+" ," );   }   }} // 定义一个函数计算二维数组中的元素的累加和public static long getSum( int [][] a ){       // 0. 定义一个结果变量        long sum = 0L;   // 1. 拆开二维数组   for ( int i = 0 ; i < a.length ; i++ )   {   // 2. 拆开一维数组获取数据   for ( int j = 0 ; j < a[i].length ; j++ )   {sum+=a[i][j];   }   }   return sum;}     // 统计二维数组中元素的个数public static int getDataCount( int [][] a ){   // 0. 记录元素个数   int  count = 0;   // 1. 拆开二维数组   for ( int i = 0 ; i < a.length ; i++ )   {   // 2. 拆开一维数组获取数据   for ( int j = 0 ; j < a[i].length ; j++ )   {count++;   }   }  return count;} public static void main(String[] args) {int [][] a = new int[][]{ {23,4,5},{2},{4,5,78,56,90} };printArr2( a );        System.out.println();System.out.println("累加和是: "+getSum( a ) );System.out.println("统计元素个数: "+getDataCount( a ) );System.out.println("Hello World!");}}




0 0
原创粉丝点击