编写博客目的:本系列博客均根据B站黑马程序员系列视频学习和编写目的在于记录自己的学习点滴,方便后续回忆和查找相关知识点,不足之处恳请各位有缘的朋友指正。
一、什么是二维数组
其实二维数组就是在数组中存放数组
二、二维数组的应用场景
例如拼图游戏
三、二维数组的静态初始化
这个时候数组的数据已经初始化成功了我们试着打印一下看看,这个时候发现打印出来的结果是[I@4eec7777,这串字符代表的含义是所打印一维数组的地址值
public class Tset9 {
public static void main(String[] args){
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[0]); //[I@4eec7777
}
}
三、二维数组的动态初始化
public class Test10 {
public static void main(String[] args){
// 二维数组的动态初始化
int[][] arr = new int[3][5];
arr[0][0] = 10;
for(int i =0;i<arr.length;i++){
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
四、二维数组的内存图
首先在栈内存中加载main函数,在堆内存中指定数据的地址值开辟空间存放在二维数组之下的一维数组
五、综合小练习--计算营业额
// 某商城每个季度的营业额如下,
// 一季度:22,66,44
// 二季度:77,33,88
// 三季度:25,45,65
// 四季度:11,66,99
// 要求计算出每个季度的总营业额和全年的总营业额
public class Test11 {
public static void main(String[] args) {
// 某商城每个季度的营业额如下,
// 一季度:22,66,44
// 二季度:77,33,88
// 三季度:25,45,65
// 四季度:11,66,99
// 要求计算出每个季度的总营业额和全年的总营业额
int[][] yearArr = {
{22, 66, 44},
{77, 33, 88},
{25, 45, 65},
{11, 66, 99},
};
int sum = 0;
// 计算每个季度的总营业额
for (int i = 0; i < yearArr.length; i++) {
System.out.println("第" + (i+1) + "季度的总营业额是:" + getSum(yearArr[i]) + "万元");
sum = sum + getSum(yearArr[i]);
}
System.out.println("全年总营业额是:" + sum + "万元");
}
public static int getSum(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum = sum + arr[i];
}
return sum;
}
}