1.二维数组
1.1 二维数组的概述以及静态初始化
/*
二维数组也是一种容器,不同于一维数组,该容器存储的都是一维数组容器
二维数组定义格式:
格式1:数据类型 [ ] [ ] 变量名; //推荐使用
范例:int [ ] [ ] arr;
格式2:数据类型 变量名[ ] [ ];
范例:int arr[ ] [ ];
格式3:数据类型[ ] 变量名[ ];
范例:int[ ] arr[ ];
二维数组的静态初始化:
格式1:数据类型 [ ] [ ] 变量名 = {一维数组,一维数组,一维数组,一维数组,一维数组,一维数组......};
int[][] season1 = {
{12, 1, 2}, {3, 4, 5}, {6, 7, 8}, {9, 10, 11}};
格式2:数据类型 [ ] [ ] 变量名 = new 数据类型 [ ] [ ] {一维数组,一维数组,一维数组,一维数组,一维数组,一维数组......};
*/
public class Demo01 {
public static void main(String[] args) {
int[] winter = {
12, 1, 2};
int[] spring = {
3, 4, 5};
int[] summer = {
6, 7, 8};
int[] autumn = {
9, 10, 11};
//格式1:数据类型 [ ] [ ] 变量名 = {一维数组,一维数组,一维数组,一维数组,一维数组,一维数组......};
int[][] season = {
spring, summer, autumn, winter};
int[][] season1 = {
{
12, 1, 2}, {
3, 4, 5}, {
6, 7, 8}, {
9, 10, 11}};
//格式2:数据类型 [ ] [ ] 变量名 = new 数据类型 [ ] [ ] {一维数组,一维数组,一维数组,一维数组,一维数组,一维数组......};
int[][] season3 = new int[][]{
spring, summer, autumn, winter};
int[][] season4 = new int[][]{
{
12, 1, 2}, {
3, 4, 5}, {
6, 7, 8}, {
9, 10, 11}};
}
}
1.2 二维数组的动态初始化
/*
二维数组动态初始化:
格式:数据类型 [ ] [ ] 变量名 = new 数据类型[ m ] [ n ];
m表示这个二维数组,可以存放多少个一维数组
n表示每一个一维数组,可以存放多少个元素
范例:int [ ] [ ] arr = new int [ 2 ][ 3 ];
该数组可以存放2个一维数组,每个一维数组中可以存放3个int类型元素
*/
public class Demo02 {
public static void main(String[] args) {
//定义二维数组 3个一维数组,每个一维数组可以存放5个元素
int[][] arr = new int[3][5];
}
}
1.3 二维数组遍历
/*
二维数组的遍历代码:
使用嵌套的循环,外层循环获取每一个一维数组,内层循环获取一维数组中的元素
*/
public class Demo03 {
public static void main(String[] args) {
int[] winter = {
12, 1, 2};
int[] spring = {
3, 4, 5};
int[] summer = {
6, 7, 8};
int[] autumn = {
9, 10, 11};
System.out.println(spring);
System.out.println(summer);
System.out.println(autumn);
System.out.println(winter);
System.out.println("-------------");
//格式1:数据类型 [ ] [ ] 变量名 = {一维数组,一维数组,一维数组,一维数组,一维数组,一维数组......};
int[][] season = {
spring, summer, autumn, winter};
//遍历二维数组:是数组就有索引,索引是从0开始到数组成都减一
for (int i = 0; i < season.length; i++) {
System.out.println(season[i]);//获取的是一维数组的地址
}
System.out.println("----------------");
//遍历二维数组 获取元素
for (int i = 0; i < season.length; i++) {
int [] arr = season[i];//获取的是一维数组的地址,定义变量接收
for (int j = 0; j < arr.length; j++) {
System.out.println(arr[j]);
}
}
System.out.println("----------------");
//小结:遍历二维数组步骤:使用嵌套循环
// 1.使用for循环获取每一个一维数组,
// 2.在循环的内部,再使用for循环遍历以为数组获取数组中的元素
for (int i = 0; i < season.length; i++) {
for (int j = 0; j < season[i].length; j++) {
System.out.println(season[i][j]);
}
}
}
}
1.4 二维数组的练习
/*
已知一个二维数组 arr = { {11 , 22 , 33} , {33 , 44 , 55} }; 遍历该数组,取出所有元素并打印
*/
public class Demo04 {
public static void main(String[] args) {
int[][] arr = {
{
11, 22, 33}, {
33