二维数组:是数组的数组。
举例引入:买烟
一根 变量
一盒 20根 一维数组
一条 10盒 20根 二维数组
二维数组的 定义格式:
数组类型[][] 变量名 = new 数据类型[长度1][长度2];
长度1:一条烟有多少盒
长度2:一盒烟有多少根
二维数组的 初始化方式:
动态初始化:
数据类型[][] 变量名 = new 数据类型[长度1][长度2];
静态初始化:
数据类型[][] 变量名 = {{元素1,元素2...},{元素1,元素2...}...};
原理分析:
举例1:动态初始化
class Demo1{
public static void main(String[] args){
//定义了一个二维数组
int[][] arr = new int[3][4];
arr[1][1] = 100;
System.out.println("二维数组的长度:"+arr.length); //输出3
System.out.println("二维数组的长度:"+arr[1].length);
}
}
举例2:静态初始化
class Demo2{
public static void main(String[] args){
int[][] arr = {{10,11,9},{67,12},{33,35,39,40}};
//System.out.println(arr.length); //输出3,{}中有几个{}
//System.out.println(arr[2].length); //输出4
//遍历二维数组
for(int i = 0;i<arr.length;i++){
for(int j = 0;j<arr[i].length;j++){
System.out.println(arr[i][j]+",");
}
System.out.println();//换行
}
}
}
输出结果:
10,11,9
67,12
33,35,39,40
举例3:定义一个二维数组,然后计算二维数组中偶数元素的总和
数组的特点:
- 1、数组只能存储同一种 数据类型的数据;
- 2、数组是会给存储到数组中的元素分配一个索引值的,索引值从0开始,最大的索引值是length-1;
- 3、数组一但初始化,长度固定;
- 4、数组中的 元素与元素之间的内存地址是连续的。
分析:
1、数据长度固定:
2、元素与元素的内存地址是连续的: