二维数组的概念:

一个元素为一维数组的数组。

   

格式1:

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

   

m:表示这个二维数组有多少个一维数组。

n:表示每一个一维数组的元素有多少个。

   

注意:

A:以下格式也可以表示二维数组

a:数据类型 数组名[][] = new 数据类型[m][n];

b:数据类型[] 数组名[] = new 数据类型[m][n];

B:注意下面定义的区别

int x;

int y;

int x,y;

   

int[] x;

int[] y[];

   

int[] x,y[];

demo:

class Array2Demo {
public static void main(String[] args) {
 //定义一个二维数组
 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
}
}

   

java 二维数组转excle java二维数组格式_数据类型

二维数组的第二种格式:

数据类型[][] 数组名 = new 数据类型[m][];

m:表示这个二维数组有多少个一维数组。

列数没有给出,可以动态的给。这一次是一个变化的列数

Demo:

class Array2Demo2 {
public static void main(String[] args) {
//定义数组							
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;
}
}

   

java 二维数组转excle java二维数组格式_java 二维数组转excle_02

二维数组的第三种格式:

基本格式:

数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};

简化版格式:

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

   

Demo:

class Array2Demo3 {
public static void main(String[] args) {
//定义数组							
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]); //错误
}
}

   

java 二维数组转excle java二维数组格式_二维数组_03

   

   

二维数组遍历:

外循环控制的是二维数组的长度,其实就是一维数组的个数。

内循环控制的是一维数组的长度。

   

demo:

class Array2Test {
public static void main(String[] args) {
//定义一个二维数组							
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
  
//请问谁代表{1,2,3}							
//arr[0]就是第一个数组
//arr[0] = {1,2,3};
for(int x=0; x<arr[0].length; x++) {
System.out.println(arr[0][x]);
}
System.out.println("--------------");
  
for(int x=0; x<arr[1].length; x++) {
System.out.println(arr[1][x]);
}
System.out.println("--------------");
  
for(int x=0; x<arr[2].length; x++) {
System.out.println(arr[2][x]);
}
System.out.println("--------------");
  
//用循环改进							
for(int x=0; x<3; x++) {
for(int y=0; y<arr[x].length; y++) {
System.out.print(arr[x][y]+" ");
}
System.out.println();
}
System.out.println("--------------");
  
//这个时候,注意了,3是我们根据上面的代码得出来的							
//但是,它不能针对任何的数组都可以这样
//所以,我们应该想办法改进
//其实,外面的这个循环的长度就是二维数组的长度
  
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();
}
System.out.println("--------------");
  
//用方法改进							
//调用方法
printArray2(arr);
System.out.println("--------------");
  
//我们再来一个列数是变化的							
int[][] arr2 = {{1,2,3},{4,5},{6}};
printArray2(arr2);
}
  
/*
需求:遍历二维数组
两个明确:
返回值类型:void							
参数列表:int[][] arr
*/
public static void printArray2(int[][] arr) {
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();
}
}
}

二维数组的

公司年销售额求和

某公司按照季度和月份统计的数据如下:单位(万元)

第一季度:22,66,44

第二季度:77,33,88

第三季度:25,45,65

第四季度:11,66,99

   

分析:

A:把题目的数据用二维数组来表示

int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};

B:如何求和呢?

求和其实就是获取到每一个元素,然后累加即可。

C:定义一个求和变量sum,初始化值是0。

D:通过遍历就可以得到每一个二维数组的元素。

E:把元素累加即可。

F:最后输出sum,就是结果。

求和:

demo:

class Array2Test2 {
public static void main(String[] args) {
//把题目的数据用二维数组来表示							
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+"万元");
}
}