二维数组
二维数组:可以简单理解为数组中存放数组
声明格式: 数据类型[ ] [ ] 数组名;
初始化分为两种:动态初始化与静态初始化
动态初始化:
数据类型[ ] [ ] 数组名=new 数据类型[ 一位数组的长度] [二维数组的长度 ]
数据类型[ ] [ ] 数组名=new 数据类型[一位数组的长度] [ ];
静态初始化:
数据类型[ ] [ ] 数组名=new 数据类型[ ] [ ]{ {‘a’,‘b’},{‘c’,‘d’,‘e’},{‘f’}};
数据类型[ ] [ ] 数组名={ {‘a’,‘b’,},{‘c’,‘d’,‘e’},{‘f’}};
根据索引操作数组:
数组名[索引]
遍历:循环嵌套
public class Arrays{
public static void main(String[]args){
//二维数组动态初始化
int[][] arr = new int[2][3];
//赋值
arr[0][0]=1;
arr[0][1]=2;
arr[0][2]=3;
arr[1][0]=4;
arr[1][1]=5;
arr[1][2]=6;
//多维数组以字符串的形式打印内容
System.out.println(Arrays.deepToString(arr2));
//输出结果 [1, 2, 3], [4, 5, 6]]
double[][] arr1=new double[2][];
arr1[0]=new double[3];
arr2[0] = new double[3];
arr2[1] = new double[]{
4,5};
arr2[0][0] = 1;
arr2[0][1] = 2;
arr2[0][2] = 3;
//多维数组以字符串的形式打印内容
System.out.println(Arrays.deepToString(arr2));
//输出结果 [[1.0, 2.0, 3.0], [4.0, 5.0]]
//静态初始化
char[][]arr2=new char[][]{
{
'a','b'},{
'c','d','e'}{
'f'}};
//打印二维数组arr2里面的值
System.out.println(Arrays.deepToString(arr2));
//创建一个字符串二维数组
String[][] arr3={
{
"你好","大上海"},{
"嚯嚯嚯"}};
//多维数组以字符串的形式打印内容
System.out.println(Arrays.deepToString(arr3));
//输出结果 [[你好, 大上海], [嚯嚯嚯]]
//遍历
//for...each嵌套for...each
for(char[]ch:arr2{
for(char c:ch){
System.out.println(c);
}
}
/*
代码运行结果:
a
b
c
d
e
f
*/
//普通for循环嵌套增强for循环
for(int i=0;i<=arr3.length-1;i++){
for(String s:arr3[i]){
System.out.println(s);
}
}
/*
代码运行结果:
你好
大上海
嚯嚯嚯
*/
}
}
Arrays工具类
Arrays工具类,静态工厂,通过Arrays. 的方式去调用里面的方法
例如:
public class Arrays{
public static void mian(Sting[]args){
//创建一个二维数组
char[][]arr=new char[][]{
{
'b','a'},{
'c','f','e'}{
'f'}};
//deepToString()多维数组以字符串的形式打印内容
System.out.println(Arrays.deepToString(arr));
//输出结果 [[b, a], [c, f, e], [f]]
int[] arr1=new int[]{