public class Demo {
/*
* 二维数组
* 1:定义,初始化
* int[][] arr2 = new int[3][3];
* 第1个3代表这个二维数组是由3个一维数组构成的
* 第2个3代表每个一维数组的元素的个数有3个
*
* 二维数组分类
* 1:规则二维数组:每个一维数组的元素个数相同
* 2:不规则二维数组:每个一维数组的元素个数不相同
* 2:遍历
* 普通for循环
* for---each
* 3:内存分配
* 4:二维数组的转置
* 原二维数组
* a b c d
* 00 01 02 03
* e f g h
* j j k l
*
*
*
*
*
*
* 二维数组的使用场合
* 1:2D游戏地图
* 2:省市联动
*
*/
public static void main(String[] args) {
String[][] pro = {
{"武汉市","黄冈市","黄石市"},
{"西安市","咸阳市","宝鸡市","延安市"}
};
//1:定义,初始化 动态初始化 根据数组的长度,确定数组的元素的个数
/*int[][] arr3 = new int[3][3];
arr[0][0] = 10;
arr[0][1] = 20;
arr[0][2] = 30;
arr[1][0] = 40;
arr[1][1] = 50;
arr[1][2] = 60;
arr[2][0] = 70;
arr[2][1] = 80;
arr[2][2] = 90;*/
//2:静态初始化 根据元素的个数,确定数组的长度
int[][] arr2 = new int[][]{{10,20,30},{40,50,60},{70,80,90}};
//静态初始化 根据元素的个数,确定数组的长度
int[][] arr = {
{10,20,30,100},
{40,50,60,110},
{70,80,90,120}
};
//外层循环的次数是二维数组中一维数组的的个数 普通for循环
for(int j = 0;j<arr.length;j++){
//里层循环的次数是每一个一维数组元素的个数
for(int i = 0;i<arr[j].length;i++){
System.out.println(arr[j][i]);
}
}
//双层 for-each
System.out.println("---------------------");
for (int[] is : arr) {
for (int i : is) {
System.out.println(i);
}
}
//不规则二维数组 先确定一维数组的个数 ,动态初始化
String[][] str = new String[3][];
//分别给每个一维数组,赋予长度
str[0] = new String[3];
str[1] = new String[4];
str[2] = new String[5];
//静态初始化
String[][] str2 = new String[][]{{"a"},{"b","c"},{"d","e","f"}};
String[][] str3 = {
{"a"},
{"b","c"},
{"d","e","f"}
};
}
}