二维数组

1.含义

包含了多个一维数组

2.声明

数据类型[][] 数组名;

3.数组的初始化

静态初始化:数据由程序员指定,长度由系统自动分配
动态初始化:长度由程序员指定,数据由系统赋默认值

整数类型:0
* 浮点类型:0.0
* 字符类型:’ ’
* 布尔类型:false
* 引用类型:null

//静态初始化1
		//String[][] names = new String[][]{{"深田咏美","爱田奈奈","京香julia"},{"明日花绮罗","小峰由衣","泽村丽子","小泽玛利亚"}};
		
		//静态初始化2
		//String[][] names;
		//names = new String[][]{{"深田咏美","爱田奈奈","京香julia"},{"明日花绮罗","小峰由衣","泽村丽子","小泽玛利亚"}};
				
		//静态初始化3
		String[][] names = {{"深田咏美","爱田奈奈","京香julia"},{"明日花绮罗","小峰由衣","泽村丽子","小泽玛利亚"}};
				
		
		//设置指定下标上的元素
		names[0][2] = "林成";
		
		//获取指定下标上的元素
		String name = names[0][2];
		System.out.println("获取指定下标上的元素:" + name);
		
		//获取长度
		System.out.println("获取二维数组中一维数组的个数:" + names.length);//2
		System.out.println("获取二维数组中第一个一维数组的元素个数:" + names[0].length);//3
		System.out.println("获取二维数组中第二个一维数组的元素个数:" + names[1].length);//4
		
		System.out.println("------------");
		
		//遍历 - for循环
		for (int i = 0; i < names.length; i++) {
			for (int j = 0; j < names[i].length; j++) {
				System.out.println(names[i][j]);
			}
		}
		
		System.out.println("------------");
		
		//遍历 - foreach
		for (String[] strings : names) {
			for (String string : strings) {
				System.out.println(string);
			}
		}
	}
//动态初始化1
		//String[][] names = new String[2][3];//2个一维数组,每个一维数组中有3个元素
		
		//动态初始化2
		String[][] names;
		names = new String[2][3];//2个一维数组,每个一维数组中有3个元素
		
		//设置指定下标上的元素
		names[0][0] = "林成a";
		names[0][1] = "林成b";
		names[0][2] = "林成c";
		names[1][0] = "林成d";
		names[1][1] = "林成e";
		names[1][2] = "林成f";
		
		//获取指定下标上的元素
		String name = names[0][2];
		System.out.println("获取指定下标上的元素:" + name);
		
		//获取长度
		System.out.println("获取二维数组中一维数组的个数:" + names.length);//2
		System.out.println("获取二维数组中第一个一维数组的元素个数:" + names[0].length);//3
		System.out.println("获取二维数组中第二个一维数组的元素个数:" + names[1].length);//4
		
		System.out.println("------------");
		
		//遍历 - for循环
		for (int i = 0; i < names.length; i++) {
			for (int j = 0; j < names[i].length; j++) {
				System.out.println(names[i][j]);
			}
		}
		
		System.out.println("------------");
		
		//遍历 - foreach
		for (String[] strings : names) {
			for (String string : strings) {
				System.out.println(string);
			}
		}
	}
4.二维数组的动态初始化
1 需求

使用动态初始化二维数组,其中第一个一维数组有3个元素,第二个一维数组有4个元素

//动态初始化:标注二维数组中有2个一维数组
		String[][] names = new String[2][];
		
		//把长度为3的一维数组赋值给二维数组中下标为0的位置
		names[0] = new String[3];
		//把长度为4的一维数组赋值给二维数组中下标为1的位置
		names[1] = new String[4];
		
		System.out.println("获取二维数组中一维数组的个数:" + names.length);//2
		System.out.println("获取二维数组中第一个一维数组的元素个数:" + names[0].length);//3
		System.out.println("获取二维数组中第二个一维数组的元素个数:" + names[1].length);//4		
		
	}