zoukankan      html  css  js  c++  java
  • 二维数组_基础(九)

    一、概念

    二维数组就是元素为一位数组的一个数组

    二、格式

    1、格式一

      数据类型[][] 数组名 = new 数据类型[m][n]
    
      m:表示这个二维数组有多少个一维数组
      n:表示每一个一维数组的元素有多少个
    
                //定义一个二维数组
    	 int[][] arr = new int[3][2];
    	 //定义了一个二维数组arr
    	 //这个二维数组有3个一维数组的元素
    	 //每一个一维数组有2个元素
    	 //输出二维数组名称
    	 System.out.println(arr); //地址值	[[I@175078b
    	 //输出二维数组的第一个元素一维数组的名称
    	 System.out.println(arr[0]); //地址值	[I@42552c
    	 System.out.println(arr[1]); //地址值	[I@e5bbd6
    	 System.out.println(arr[2]); //地址值	[I@8ee016
    	 //输出二维数组的元素
    	 System.out.println(arr[0][0]); //0
    	 System.out.println(arr[0][1]); //0
    

    格式1内存图解

    2、格式二

      数据类型[][]数据名 = new 数据类型[m][];
    
      m:表示这个二维数组有多少个一维数组。
      列数没有给出,可以动态的给,这次是一个变化的列数
    
               //定义数组
    	int[][] arr = new int[3][];
    	
    	System.out.println(arr);	//[[I@175078b
    	System.out.println(arr[0]); //null
    	System.out.println(arr[1]); //null
    	System.out.println(arr[2]); //null
    	
    	//动态的为每一个一维数组分配空间
    	arr[0] = new int[2];
    	arr[1] = new int[3];
    	arr[2] = new int[1];
    	
    	System.out.println(arr[0]); //[I@42552c
    	System.out.println(arr[1]); //[I@e5bbd6
    	System.out.println(arr[2]); //[I@8ee016
    	
    	System.out.println(arr[0][0]); //0
    	System.out.println(arr[0][1]); //0
    	//ArrayIndexOutOfBoundsException
    	//System.out.println(arr[0][2]); //错误
    	
    	arr[1][0] = 100;
    	arr[1][2] = 200;
    

    格式2内存图解

    3、格式三

      基本格式:
            数据类型[][] 数据名 = new 数据类型[][]{{元素1,元素2,...},{元素1,元素2,...},{元素1,元素2,...}...};
            int[][]arr=new int[][]{{1,2,3},{4,5,6},{7,8,9}}
      简化格式:
            数据类型[][] 数据名 = {元素1,元素2,...},{元素1,元素2,...},{元素1,元素2,...};
            int[][]arr={{1,2,3},{4,5,6},{7,8,9}}
    
               //定义数组
    	int[][] arr = {{1,2,3},{4,5},{6}};
    	
    	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]); //1
    	System.out.println(arr[1][0]); //4
    	System.out.println(arr[2][0]); //6
    	
    	System.out.println(arr[0][1]); //2
    	System.out.println(arr[1][1]); //5
    	//越界
    	System.out.println(arr[2][1]); //错误
    

    格式3内存图解

    三、注意事项

    1、以下格式也可以表示二维数组

      A、数据类型 数组名[][]=new 数据类型[m][n];
      B、数据类型[] 数据名[] = new 数据类型[m][n];
    

    2、注意下面定义的区别

      int x;
      int y;
      int x,y;
    
      int []x;
      int [] y[];
    
      int [] x, y[];
    
    四、数据的练习

    1、二维数组遍历:外循环控制二维数组的长度,就是一位数组的个数,内循环控制的是一维数组的长度

      //定义一个二维数组
      int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
      for(int x=0; x<arr.length; x++) {
      for(int y=0; y<arr[x].length; y++) {
          System.out.print(arr[x][y]+" ");
      }
      System.out.println();
      }
    

    2、 公司年销售额求和

        某公司按照季度和月份统计的数据如下:单位(万元)
    第一季度:22,66,44
    第二季度:77,33,88
    第三季度:25,45,65
    第四季度:11,66,99
           
      //把题目的数据用二维数组来表示
    	int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
    	
    	//定义一个求和变量sum,初始化值是0。
    	int sum = 0;
    	
    	//通过遍历就可以得到每一个二维数组的元素。
    	for(int x=0; x<arr.length; x++) {
    		for(int y=0; y<arr[x].length; y++) {
    			//把元素累加即可。
    			sum += arr[x][y];
    		}
    	}
    	
    	//最后输出sum,就是结果。
    	System.out.println("一年的销售额为:"+sum+"万元");
  • 相关阅读:
    J2EE13个规范--【J2EE】
    事件监听、持有对方的引用--【J2SE】
    TCP协议:服务端和客户端demo--【J2SE】
    线程:Interrupt、Sleep、Join、线程同步--【J2SE】
    1. Visual C++ 6.0 安装和使用
    无法连接虚拟设备sata0:1,因为主机上没有相应的设备
    Linux文件夹文件创建、删除
    服务器
    linux 下 apache启动、停止、重启命令
    Apache部署静态html
  • 原文地址:https://www.cnblogs.com/liangfzh/p/14153073.html
Copyright © 2011-2022 走看看