二维数组
含义:
数组中存数组
应用场景:
当我们需要把数据分组管理的时候,就需要用到二维数组
初始化:
静态初始化
格式:
数据类型[][] 数组名 = new 数据类型[] [] {{元素1,元素2,元素3},{元素1,元素2,元素3}};
范例:int [] [] arr = new int [] [] {{11,22},{33,44}};
简化格式:
数据类型[] [] 数组名 = {{元素1,元素2},{元素1,元素2}};
范例:int [] [] arr = {{11,22},{33,44}};
范例:int arr [] [] = new int [] [] {{11,22},{33,44}};
获取元素
//完整格式
int [][] arr1 = new int[][]{{1,2,3,4},{5,6,7,8}};
//简化格式
int [][] arr2 = {{1,2,3,4},{5,6,7,8}}
//建议这样定义,把每一个一维数组,单独写成一行。方便阅读
int [][] arr3 ={
{1,2,3,4},
{5,6,7,8}
}
//System.out.println(arr3[2][0]);
//ArrayIndexOutOfBoundException
arr[i] [j]
- arr:二维数组
- i:二维数组的索引,获取出来的是里面的一维数组
- j:表示一维数组中的索引,获取出来的就是真正的元素
二维数组遍历
package com.example.demo;
public class Test {
public static void main(String[] args) {
int [][] arr3 ={
{1,2,3,4,},
{5,6,7,8}
};
// 外循环:遍历二维数组中的每一个一维数组
for (int i = 0; i < arr3.length ; i++) {
//i表示二维数组中的每一个索引
// 内循环:遍历的是一维数组中的每一个元素
for (int j = 0; j < arr3[i].length; j++) {
//j表示一维数组中的每一个元素
System.out.print(arr3[i][j]+" ");
}
System.out.println();
}
}
}
动态初始化
格式:
数据类型 [] [] 数组名 = new 数据类型[m] [n];
m:表示这个二维数组,可以存放多少个一维数组。
n:表示每个一维数组能存放多少个元素,也就是一维数组的长度。
练习
需求:某商城每个季度的营业额如下:单位(万元)
第一季度:22,66,44
第二季度:77,33,88
第三季度:22,66,77
第四季度:77,33,88
要求计算每个季度的总营业额和全年的总营业额。
如下:单位(万元)
第一季度:22,66,44
第二季度:77,33,88
第三季度:22,66,77
第四季度:77,33,88
要求计算每个季度的总营业额和全年的总营业额。