二维数组使用

二维数组:实质就是存储是一维数组。

二维数组:

        吸烟: 

       没钱       零买   1根                 一个变量

       稍微有钱   一包   一维数组                        20根变量

            很有钱     一条   10包(二维数组)        二维数组

 

数组定义:

       数组类型[][] 数组名 = new 数组类型[一维数组的个数][每一个一维数组中元素的个数];

        

疑问: 为什么a.length = 3, a[0].length = 4?

数组的初始化:

         静态初始化:

                   int [][] a = new int[][]{ {12,34,45,89},{34,56,78,10},{1,3,6,4} };

         动态初始化:

                  

二维数组常见的操作:

  1. 遍历二维数组
  2. 对二维数组求和

 

class Demo3

{

    // 定义一个遍历二维数组的功能函数

    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!");

      

      

    }

}

猜你喜欢

转载自blog.csdn.net/it_laobai/article/details/81191304
今日推荐