Day08
一、二维数组
含义:包含了多个一维数组
声明:数据类型[][] 数组名;
数组的初始化:
1.1、静态初始化:
数据由程序员指定,长度由系统自动分配
package com.dream.test01;
public class Test01 {
public static void main(String[] args) {
//静态初始化1
//String[][] names = new String[][]{{"aaa","bbb","ccc"},{"ddd","eee","fff","ggg"}};
//静态初始化2
//String[][] names;
//names = new String[][]{{"aaa","bbb","ccc"},{"ddd","eee","fff","ggg"}};
//静态初始化3
String[][] names = {{"aaa","bbb","ccc"},{"ddd","eee","fff","ggg"}};
//设置指定下标上的元素
names[0][2] = "ttt";
//获取指定下标上的元素
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.2、动态初始化
动态初始化:长度由程序员指定,数据由系统赋默认值
- 整数类型:0
- 浮点类型:0.0
- 字符类型:’ ’
- 布尔类型:false
- 引用类型:null
package com.dream.test01;
public class Test02 {
public static void main(String[] args) {
//动态初始化1
//String[][] names = new String[2][3];//2个一维数组,每个一维数组中有3个元素
//动态初始化2
String[][] names;
names = new String[2][3];//2个一维数组,每个一维数组中有3个元素
//设置指定下标上的元素
names[0][0] = "aaa";
names[1][0] = "bbb";
//获取指定下标上的元素
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);
}
}
}
}
package com.dream.test01;
public class Test03 {
public static void main(String[] args) {
/**
中第一个一维数组有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
}
}